(WooCommerce)输入特定类别时按价格排序

时间:2017-05-05 作者:Josue Prz

只有当用户进入特定类别时,才有办法按价格订购产品吗?

我知道我可以使用函数中的挂钩来实现这一点。php,但我不确定如何实现这一点

add_filter(\'function-for-ordering-products\',\'my-custom-function\');

function my-custom-function(){

//Step 1. Find the category the user is currently watching
//Step 2.  If the category is "Giftcards" go to step 3
//Step 2.1 If the category is not "Giftcards" go to step 4
//Step 3. Set products order by price
//Step 4. Do nothing

}
你能帮我一下吗?

在Add\\u filter中,我是否需要在shop\\u循环之前使用woocommerce\\u?

所以正确的过滤器应该是。。。

add_filter(\'woocommerce_before_shop_loop \',\'my-custom-function\')?

1 个回复
SO网友:Rentringer

您可以使用下面的过滤器,正如@sabarnix在

https://stackoverflow.com/questions/24939337/woocommerce-different-default-sorting-for-different-categories

add_filter(\'woocommerce_get_catalog_ordering_args\', \'tk_woocommerce_catalog_orderby\');
function tk_woocommerce_catalog_orderby( $args ) {
    if( is_product_category( \'shirts\' ) ) {
        $args[\'orderby\']  = \'meta_value_num\';
        $args[\'order\']    = \'ASC\';
        $args[\'meta_key\'] = \'_price\'; 
    }
    return $args;
}

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**