php - 获取 WooCommerce 成员(member)计划的所有活跃用户

标签 php wordpress woocommerce hook-woocommerce woocommerce-memberships

我将 Wordpress 4.9.4 版与 WooCommerce 一起使用 WooCommerce Memberships plugin .

如何获取特定成员(member)计划 ($memberships) 的所有用户?

有钩子(Hook)还是我应该使用原始查询?

在文档上,它说计划/成员(member)资格是帖子类型,所以我尝试查询这个表:

SELECT jsu.id, jsu.user_email, jsu.display_name, jsp.post_title, jsp.post_type FROM `wp_users` jsu
LEFT JOIN `wp_posts` jsp ON (jsu.id = jsp.post_author)
LEFT JOIN `wp_usermeta` jsum ON (jsu.id = jsum.user_id)
WHERE jsp.post_title IN ($memberships) AND post_type = 'wc_membership_plan'

但我没有得到想要的结果。

最佳答案

我对您的 SQL 做了一些更改,并在实用程序函数中设置了代码:

function get_active_members_for_membership($memberships){
    global $wpdb;

    // Getting all User IDs and data for a membership plan
    return $wpdb->get_results( "
        SELECT DISTINCT um.user_id, u.user_email, u.display_name, p2.post_title, p2.post_type
        FROM {$wpdb->prefix}posts AS p
        LEFT JOIN {$wpdb->prefix}posts AS p2 ON p2.ID = p.post_parent
        LEFT JOIN {$wpdb->prefix}users AS u ON u.id = p.post_author
        LEFT JOIN {$wpdb->prefix}usermeta AS um ON u.id = um.user_id
        WHERE p.post_type = 'wc_user_membership'
        AND p.post_status IN ('wcm-active')
        AND p2.post_type = 'wc_membership_plan'
        AND p2.post_title LIKE '$memberships'
    ");
}

此代码位于您的事件子主题(或主题)的 function.php 文件中。已测试并有效。

用法:

// Replace 'My Membership' by your targeted membership name.
$users_data = get_active_members_for_membership('My Membership');

// Test raw output
echo '<pre>'; print_r( $users_data ); echo '</pre>';

关于php - 获取 WooCommerce 成员(member)计划的所有活跃用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49242867/

相关文章:

php - Woocommerce 回显每种产品的总零售额

php - 选择枚举时将字符串分配给另一列

php - 在数组循环内显示数组

mysql - Wordpress MySQL 在_users 上加入_usermeta

mysql - WooCommerce 数据库关系 ERD - Wordpress

PHP 在日期和今天日期之间计数

php - 在 WordPress 中使用 wp_oembed_get 为 youtube iframe 设置一个 id

javascript - 从浏览器访问 Unity Webgl 输出,反之亦然

wordpress - 如何禁用 woocommerce 的购物车功能?

php - 对 WooCommerce 中的非 "on sale"商品应用欢迎折扣