如何将Woocommerce搜索结果顺序更改为从低到高的价格

时间:2018-03-15 08:30:07

标签: php wordpress search woocommerce

在我的网站上,我将woocommerce更新为3.3.3,然后显示产品搜索结果的搜索结果页面默认以“相关性”顺序开头。但是woocommerce有错误我报告了bug并且他们通过编辑一个核心文件解决了。错误相关性没有显示在包含下拉列表的搜索页面上,默认情况下不显示“相关性”。

现在我想将默认的“相关性”订单更改为从低到高的价格我在function.php中添加了此代码。

add_filter('woocommerce_get_catalog_ordering_args', 'am_woocommerce_catalog_orderby');
function am_woocommerce_catalog_orderby( $args ) {
    if ('is_search' ) {

    $args['meta_key'] = '_price';
    $args['orderby'] = 'meta_value_num';
    $args['order'] = 'asc'; 
    return $args;
   }
}

此代码对我有用,但包含下拉字段值的搜索页面仍然显示相关性我想将其更改为从低到高的价格。请参阅随附的屏幕截图。我怎么做?你能帮助别人帮我!!

enter image description here

1 个答案:

答案 0 :(得分:-1)

请使用以下钩子:

add_action( 'woocommerce_product_query', 'jwc_custom_product_query' );
function jwc_custom_product_query( $query ) {

    if( ! $query->is_main_query() )
        return;

    if( ! isset( $query->query['s'] ) )
        return;

    $query->set( 'order', 'ASC' );
    $query->set( 'orderby', 'price' );

    return $query; 
}