初心者になります。
以下のコードで【1】今月【2】セールス順【3】カテゴリ別までは実現できたのですが、
【4】表示件数を制御する方法が分かりません。
3件表示するのが希望ですが、当然ですが以下のコードは全部を表示していまいます。
ご指導お願いできないでしょうか。
よろしくお願いします
function get_best_selling_products_yobi( $limit = '-1' ){
global $wpdb;
$limit_clause = intval($limit) <= 0 ? '' : 'LIMIT '. intval($limit);
$curent_month = date('Y-m-01 00:00:00');
return (array) $wpdb->get_results("
SELECT p.ID as id,COUNT(oim2.meta_value) as count
FROM {$wpdb->prefix}posts p
INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta oim
ON p.ID = oim.meta_value
INNER JOIN {$wpdb->prefix}woocommerce_order_itemmeta oim2
ON oim.order_item_id = oim2.order_item_id
INNER JOIN {$wpdb->prefix}woocommerce_order_items oi
ON oim.order_item_id = oi.order_item_id
INNER JOIN {$wpdb->prefix}posts as o
ON o.ID = oi.order_id
WHERE p.post_type = 'product'
AND p.post_status = 'publish'
AND o.post_status IN ('wc-processing','wc-completed')
AND o.post_date >= '$curent_month'
AND oim.meta_key = '_product_id'
AND oim2.meta_key = '_qty'
GROUP BY p.ID
ORDER BY COUNT(oim2.meta_value) + 0 DESC
$limit_clause
");
}
$best_selling_products = get_best_selling_products_yobi();
/Loop through best selling products stdClass Objects/
foreach( $best_selling_products as $values ) {
$product_id = $values->id; // Get the product ID
$product_count = $values->count; // Get the count for the current month
$_product = wc_get_product( $product_id );
$info_cat = $_product->get_category_ids();
if ($info_cat[0] == (51)) {
echo get_the_title( $product_id ).'<br>';
}
}
。
あなたの回答
tips
プレビュー