【问题标题】:Get users by most recent order made in Woocommerce通过 Woocommerce 中的最新订单获取用户
【发布时间】:2018-04-06 08:23:13
【问题描述】:

我正在为我的电子商务网站使用 WooCommerce。我正在尝试按用户最近的订单 对其帐户进行排序。有什么方法可以做到这一点吗?比如在get_users()上传递参数

【问题讨论】:

    标签: php sql wordpress woocommerce orders


    【解决方案1】:

    您可以使用嵌入在函数中的自定义轻型 SQL 查询,该函数将返回按最近订单日期排序的客户 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 文件中。经过测试并且可以工作。

    代码中的用法:

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

    【讨论】:

      猜你喜欢
      • 2017-10-27
      • 2019-06-14
      • 2021-11-13
      • 1970-01-01
      • 2018-03-23
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多