Woocommerce默认排序在设置自定义排序时不起作用

时间:2018-03-15 06:44:53

标签: wordpress woocommerce

我正在使用wordpress + woocommerce并在排序中遇到问题。默认情况下,我在woocommerce设置中设置了“自定义排序+名称”选项。但我的其他过滤器,如按价格排序,人气不起作用。我试过使用这个钩子它正在工作,但它默认显示所有产品的价格从高到低。我想在第一次加载页面时设置“自定义排序”,然后如果用户将选择其他选项,如价格,流行度,那么订购应该根据选定的过滤器工作。

add_filter('woocommerce_get_catalog_ordering_args', 'am_woocommerce_catalog_orderby');
function am_woocommerce_catalog_orderby( $args ) {
    $args['meta_key'] = '_price';
    $args['orderby'] = 'meta_value_num';
    $args['order'] = 'desc'; 
    return $args;
}

1 个答案:

答案 0 :(得分:1)

您可以在functions.php文件中使用此代码将组合框过滤器设置为按价格排序:从高到低。我不知道为什么你的过滤器不起作用,它们在WooCommerce 3.3.3中适合我。

add_filter('woocommerce_default_catalog_orderby', 'modify_woocommerce_default_catalog_orderby');

function modify_woocommerce_default_catalog_orderby( $orderby ) {
    if( empty( $orderby ) ) {
        return 'price-desc';
    }

    return $orderby;
}