首页 > 解决方案 > Wordpress - 按价格 ASC 排序时,没有价格的产品会排在底部

问题描述

我的 WooCommerce 中有一个内置过滤器,用于按价格订购我的产品。当我选择按价格升序订购时,没有价格的产品一直排在首位。我希望这些产品位于页面底部。有什么建议么?

PS我只设法在我的functions.php文件中使用以下代码将这些产品从列表中隐藏起来:

 add_filter( 'woocommerce_product_query_meta_query', 'shop_only_instock_products', 10, 2 );
function shop_only_instock_products( $meta_query, $query ) {


    if( is_admin() ) return $meta_query;

    $meta_query['relation'] = 'OR';

    $meta_query[] = array(
        'key'     => '_price',
        'value'   => '',
        'type'    => 'numeric',
        'compare' => '!='
    );
    $meta_query[] = array(
        'key'     => '_price',
        'value'   => 0,
        'type'    => 'numeric',
        'compare' => '!='
    );
    return $meta_query;
}

更新: 8 天后,我仍在努力解决这个问题。任何帮助将不胜感激!

标签: phpwordpresswoocommerce

解决方案


推荐阅读