php - WooCommerce 似乎只按日期订购而不是价格

标签 php ajax wordpress woocommerce

我正在通过自定义 WP_Query 加载可变产品

$args = array(
    'post_type' => 'product',
    'posts_per_page' => 100,
    'product_cat' => 'beast-balls',
    'orderby' => 'date',
    'order' => 'desc'
    );
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
    while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <div class="product-node cat-beast-balls">
        <?php wc_get_template_part( 'content', 'single-product' ); ?>
        </div>
    <?php endwhile;
}

wp_reset_postdata();

这似乎工作正常。但是,我正在使用 ajax 重新加载产品,但使用不同的循环,例如这个循环。

$args = array(
    'post_type' => 'product',
    'posts_per_page' => 100,
    'product_cat' => 'beast-balls',
    'orderby' => 'price',
    'order' => 'asc'
    );
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) {
    while ( $loop->have_posts() ) : $loop->the_post(); ?>
        <div class="product-node cat-beast-balls">
        <?php wc_get_template_part( 'content', 'single-product' ); ?>
        </div>
    <?php endwhile;
}

wp_reset_postdata();

不过,我可以注意到在“asc”和“desc”之间顺序颠倒了,所以至少这是有效的。我的问题是 orderby 值似乎没有区别。我怎样才能使循环改变产品是否按日期或价格订购?

谢谢大家!

最佳答案

试试这个:

$args = array(
    'post_type' => 'product',
    'posts_per_page' => 100,
    'product_cat' => 'beast-balls',
    'orderby'   => 'meta_value_num',
    'meta_key'  => '_price',
    'order' => 'asc'
    );

关于php - WooCommerce 似乎只按日期订购而不是价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30978777/

相关文章:

php - 为什么不支持将 PHP 函数导入当前命名空间

php - 如何在不使用数据库的情况下处理大量数据?

javascript - Jquery Ajax POST 不工作。对于 GET 来说效果很好

node.js - AJAX不会在Node + Express中发出 "patch"请求

html - 保存我对 Wordpress 网站的 CSS 代码所做的更改时出现问题

javascript - 为 Google Adsense 找到预加载链接,但浏览器未使用

php - 如何更改标题以及它们在 WordPress 中的显示方式?

php - 有没有办法用子句 "inner join,"连接两个表,然后是多个 "left join"子句

php - 如果名称不存在,则将名称插入表中

javascript - 写入列表时使用 JavaScript 屏蔽前 6 位数字