如何解决如何在上周和上个月使用wp_query woocommerce获得最畅销的产品
我想按上周和上个月的顺序在首页上获得“最畅销产品”。我正在使用以下查询,但这并不是所有类别中最畅销的产品。
function get_product_posts_hp(){
$query = new WP_Query( array(
'posts_per_page' => 12,'post_type' => 'product','post_status' => 'publish','ignore_sticky_posts' => 1,'Meta_key' => 'total_sales','orderby' => 'Meta_value_num','order' => 'DESC',) );
echo '<p>Count: '. $query->post_count ; '</p>';
if($query->have_posts()) :
while($query->have_posts()) : $query->the_post();
echo '<p>' . get_the_title() . ' (';
echo get_post_meta( get_the_id(),'total_sales',true) . ')</p>';
endwhile;
wp_reset_postdata();
endif;
}
解决方法
您的查询不是获取此消息的最佳方法,因为您希望保留一段时间。您必须使用帖子类型shop_orders来获取特定时期内所有具有完整状态的订单,然后将订单中的订单项分解为项目,这样您将在一段时间内获得最畅销的商品。或者,如果您不想使用一段时间,则可以在查询中添加它
$query = new WP_Query( array(
'posts_per_page' => 12,'post_type' => 'product','post_status' => 'publish','ignore_sticky_posts' => 1,'orderby' => 'meta_value_num','order' => 'DESC','meta_query'=> array(
array(
'key' => 'total_sales','compare' => '>=','value' => 1,'type' => 'numeric',)
)
) );
按价值,您可以更改此产品必须至少具有的总销售额:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。