我正在为我的电子商务网站使用 WooCommerce 。我正在尝试按其帐户按最近的订单对用户进行排序。有没有办法做到这一点?比如在get_users()
答案 0 :(得分:2)
您可以使用嵌入在函数中的此自定义轻量级SQL查询,该函数将返回按最近订单日期排序的客户ID数组(对于订单状态"已完成"以及"处理& #34):
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文件中。经过测试和工作。
代码中的用法:
$user_ids = get_users_by_orders_date(); // Array of user IDs