微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在上周和上个月使用wp_query woocommerce获得最畅销的产品

如何解决如何在上周和上个月使用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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?