我正在使用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;
}
答案 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;
}