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/
不会显示儿童类别的产品,但会显示以下页面:
不会按xoritikotita属性(0-18lt)过滤产品
如果使用exclude_product_cat_children($ wp_query),则A)+ B)将显示相同的产品。
帮助: 是否可以保留属性查询而不包含子类别的产品?