woocommerce短代码过滤器排除类别?

时间:2014-05-21 13:30:57

标签: woocommerce categories

是否可以使用短代码,例如畅销书,但过滤以排除某个类别?

我了解如何使用[best_selling_products per_page =“12”]或[product_attribute attribute ='color'filter ='black']

但我需要过滤掉我的免费内容部分,这样就不会出现在畅销书上。

更新:我发现exclude_categories =“”但现在我不确定类别ID是什么。它是slu or还是名字?

2 个答案:

答案 0 :(得分:2)

在最新版本的Woocommerce中,它提供了一个过滤器 woocommerce_shortcode_products_query ,您可以使用该过滤器从该页面中排除某个类别

您可以在主题的 functions.php 文件中使用以下代码,以使其有效。

但我会建议使用Child Theme

来做
function se_customize_product_shortcode( $args, $atts ) {
    if ( is_page( 'products' ) ) {
        $args['tax_query'] = array(
            array(
                'taxonomy' => 'product_cat',
                'field'    => 'slug',
                'terms'    => array( 'clothing', 'music' ),
                'operator' => 'NOT IN'
            )
       );
    }

    return $args;
}
add_filter( 'woocommerce_shortcode_products_query', 'se_customize_product_shortcode', 10, 2 );

您可以使用各自的is_page条件。有关详细信息,请查看此博客Exclude a category from the woocommerce product shortcode

答案 1 :(得分:0)

您可以使用此短代码[recent_products category="category_link" operator="NOT IN"]