【发布时间】:2018-12-24 20:34:55
【问题描述】:
通过执行 SQL 查询(似乎无法正常工作)计算有多少产品在售(它计算有多少产品有折扣价),我的目标是在主存档(商店) 使用钩子。该消息应包含计数(有多少产品在售)。
所需的示例输出:“正在寻找优惠?我们目前有 XX 产品在售!”
关于为什么这不起作用的任何想法或见解? 这是我的代码:
function get_onsale_products_count() {
global $wpdb;
// SQL query for counting products that are on sale
$result = $wpdb->get_col( "
SELECT COUNT(p.ID)
FROM {$wpdb->prefix}posts as p
INNER JOIN {$wpdb->prefix}postmeta as pm ON p.ID = pm.post_id
WHERE p.post_type LIKE '%product%'
AND p.post_status LIKE 'publish'
AND pm.meta_key LIKE '_stock_status'
AND pm.meta_value LIKE '_on_sale'
" );
return reset($result);
}
add_action('woocommerce_before_single_product_summary', 'get_onsale_products_count');
$count = get_onsale_products_count();
$great_deal = sprintf( __( 'Want to make a good deal? We\'ve got %s products on sale!' ), $count );
echo '<span class="great-deal">'.$great_deal.'</span>';
【问题讨论】:
-
“似乎无法正常工作” 和 “这不起作用” 不是明确的问题描述。请提供示例数据、预期输出以及您得到的结果。
-
这个线程应该重新打开:这个问题对于习惯于 woocommerce 的人来说很清楚,并且 OP 的代码包含获取问题证据所需的任何内容。
标签: php wordpress woocommerce product discount