You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress 4.9.4中如何获取WooCommerce特定会员计划的所有用户?

获取特定会员计划用户的最优方案

嘿,针对你在WordPress 4.9.4搭配WooCommerce和Memberships插件时遇到的「获取特定会员计划所有用户」的问题,我给你梳理下最靠谱的解决方案——优先用插件官方提供的函数,而不是直接写原生SQL查询,毕竟直接操作数据表很容易因为插件版本(哪怕你现在用的是旧版本)的结构变化踩坑,之前你查数据表没得到预期结果大概率就是这个原因。

一、优先使用WooCommerce Memberships官方函数

WooCommerce Memberships专门提供了wc_memberships_get_users_for_membership_plan()函数来干这个事,它会自动处理会员的关联关系、状态过滤,完全不用你自己去拼复杂的SQL。

代码示例

假设你的$memberships是会员计划的对象或者ID,直接这么用:

// 先确保拿到会员计划的ID
$membership_plan_id = is_object( $memberships ) ? $memberships->ID : $memberships;

// 获取该计划下的所有用户(默认返回所有关联状态的用户,包括有效、过期等)
$plan_users = wc_memberships_get_users_for_membership_plan( $membership_plan_id );

// 如果你只想获取「有效」状态的会员,加个参数过滤
// $plan_users = wc_memberships_get_users_for_membership_plan( $membership_plan_id, array( 'status' => 'active' ) );

// 遍历输出用户信息
if ( ! empty( $plan_users ) ) {
    foreach ( $plan_users as $user ) {
        echo "用户ID: {$user->ID},用户名: {$user->user_login}<br>";
    }
} else {
    echo "该会员计划暂无关联用户";
}

这个函数返回的是WP_User对象数组,直接就能用WordPress的用户方法调用,非常方便。

二、为什么直接查数据表没结果?

WooCommerce Memberships的用户-会员计划关联数据存在wp_wc_user_memberships表(注意你的数据库前缀可能不是wp_),其中plan_id字段对应会员计划的ID,user_id对应用户ID,status字段标记会员状态(比如active、expired等)。

如果你一定要用原生查询(不推荐,因为插件版本更新可能改表结构),可以参考下面的代码:

global $wpdb;
$membership_plan_id = is_object( $memberships ) ? $memberships->ID : $memberships;

// 查询有效会员的用户ID
$user_ids = $wpdb->get_col( $wpdb->prepare( "
    SELECT user_id
    FROM {$wpdb->prefix}wc_user_memberships
    WHERE plan_id = %d AND status = 'active'
", $membership_plan_id ) );

// 转换成WP_User对象数组
$plan_users = ! empty( $user_ids ) ? get_users( array( 'include' => $user_ids ) ) : array();

你之前查数据表没得到预期结果,可能是没关联用户表,或者没过滤状态,或者用错了表名/字段名。

三、关于钩子的使用

如果是需要在某个特定动作触发时获取这些用户(比如会员计划更新、新用户加入会员时),可以用WooCommerce Memberships提供的钩子,比如:

  • wc_memberships_user_added_to_membership_plan:用户加入会员计划时触发
  • wc_memberships_membership_plan_updated:会员计划更新时触发

但如果只是单纯获取特定计划的用户列表,直接用前面的官方函数就够了,不需要额外使用钩子。


内容的提问来源于stack exchange,提问作者Aviv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:09:02