【问题标题】:Hide subcategories products in the macro-category in Woocommerce在 Woocommerce 的宏类别中隐藏子类别产品
【发布时间】:2016-05-24 04:04:15
【问题描述】:

我想显示宏观类别的产品和子类别,但我不想显示子类别的产品。

这是我的问题的一个例子:http://www.idromet.it/jml/wp/categoria-prodotto/prodotti/tubi-raccordi-acciaio-al-carbonio/

“Raccordi in ghisa zinati”显示了 2 次,因为第一次是该类别(及其右侧),第二次是该子类别的产物(我不想在这里展示它)。

【问题讨论】:

    标签: wordpress woocommerce


    【解决方案1】:

    下面的代码应该粘贴在你的子主题文件夹中的functions.php文件中。

    function exclude_product_cat_children($wp_query) {
    if ( isset ( $wp_query->query_vars['product_cat'] ) && $wp_query->is_main_query()) {
        $wp_query->set('tax_query', array( 
                                        array (
                                            'taxonomy' => 'product_cat',
                                            'field' => 'slug',
                                            'terms' => $wp_query->query_vars['product_cat'],
                                            'include_children' => false
                                        ) 
                                     )
        );
      }
    }  
    add_filter('pre_get_posts', 'exclude_product_cat_children'); 
    

    【讨论】:

    • 这段代码确实有效,但要隐藏产品,只需要设置子类别,而不是所有树。
    • 这段代码运行得几乎很好,除了现在我在首页上只有 6 个产品而不是 20 个。排除的子类别产品不知何故仍然计入。
    猜你喜欢
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2022-08-24
    • 2018-07-18
    • 1970-01-01
    • 2017-06-04
    相关资源
    最近更新 更多