通过 Woocommerce 中的最新订单获取用户

Get users by most recent order made in Woocommerce

我正在为我的电子商务使用 WooCommerce site.I 我正在尝试 根据用户帐户最近的订单 对用户进行排序。有什么方法可以做到这一点?比如在 get_users()

上传递参数

您可以使用嵌入在函数中的自定义灯 SQL 查询,该函数将 return 按最近订单日期排序的客户 ID 数组 (对于订单状态“已完成” ”和“处理中”):

function get_users_by_orders_date(){
    global $wpdb;

    // Getting all User IDs by more recent orders
    return $wpdb->get_col( "
        SELECT DISTINCT pm.meta_value
        FROM {$wpdb->prefix}postmeta AS pm
        JOIN {$wpdb->prefix}posts AS p ON pm.post_id = p.ID
        WHERE pm.meta_key LIKE '_customer_user'
        AND p.post_type = 'shop_order'
        AND p.post_status IN ('wc-completed','wc-processing')
        ORDER BY p.post_date
    " );
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

Usage in your code:

$user_ids = get_users_by_orders_date(); // Array of user IDs