Woocommerce不包括子类别产品,但允许过滤

时间:2019-07-01 05:32:54

标签: php wordpress woocommerce

WC 3.6(本机过滤属性) 在类别页面中,我要隐藏子笼的产品。 我使用了以下代码 https://wordpress.stackexchange.com/questions/275213/remove-child-products-from-woocommerce-category-page/275260

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');

问题: 但这会删除[第3行: $ wp_query-> set ],从主查询(如果存在)中过滤属性查询

因此,如果我使用该代码分类页面:

A)https://www.e-theodoulidis.gr/product-category/spiti-kipos/atmokatharistes-tzamokatharistes/

不会显示儿童类别的产品,但会显示以下页面:

B)https://www.e-theodoulidis.gr/product-category/spiti-kipos/atmokatharistes-tzamokatharistes/?filter_xoritikotita=0-18lt&query_type_xoritikotita=or

不会按xoritikotita属性(0-18lt)过滤产品

如果使用exclude_product_cat_children($ wp_query),则A)+ B)将显示相同的产品。

帮助: 是否可以保留属性查询而不包含子类别的产品?

0 个答案:

没有答案