[英]Get user most purchased products in Woocommerce
在 Woocommerce 中,我試圖從訂單詳細信息中為客戶獲取購買次數最多的產品。 所以我想獲取用戶更頻繁購買的產品 ID。
我還沒有找到路。 這在 Woocommerce 中可能嗎?
任何幫助表示贊賞。
以下非常簡單的 SQL 查詢將為您提供當前客戶購買次數最多的 10 個產品 ID 的數組:
// Get the current user ID
$user_id = get_current_user_id(); // (or set a user ID dynamically)
// Number of product Ids Max
$limit = 10; // 0 or -1 for unlimited
global $wpdb;
$limit_clause = $limit > 0 ? "LIMIT $limit" : "";
$products_ids = $wpdb->get_col( "
SELECT DISTINCT products.ID
FROM {$wpdb->prefix}posts as products
JOIN {$wpdb->prefix}postmeta as product_meta
ON products.ID = product_meta.post_id
JOIN {$wpdb->prefix}woocommerce_order_itemmeta as order_itemmeta
ON products.ID = order_itemmeta.meta_value
JOIN {$wpdb->prefix}woocommerce_order_items as order_items
ON order_itemmeta.order_item_id = order_items.order_item_id
JOIN {$wpdb->prefix}posts as orders
ON order_items.order_id = orders.ID
JOIN {$wpdb->prefix}postmeta as order_meta
ON orders.ID = order_meta.post_id
WHERE orders.post_type = 'shop_order'
AND orders.post_status IN ('wc-completed','wc-processing')
AND order_meta.meta_key = '_customer_user'
AND order_meta.meta_value = '$user_id'
AND order_itemmeta.meta_key = '_product_id'
AND products.post_type = 'product'
AND products.post_status = 'publish'
AND product_meta.meta_key = 'total_sales'
ORDER BY cast(product_meta.meta_value as unsigned) DESC $limit_clause
" );
將提供一系列產品 ID……經過測試且有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.