Woocommerce не включает дочернюю категорию продукта, НО разрешить фильтрацию - PullRequest
1 голос
/ 01 июля 2019

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 / категория продукта / spiti-kipos / atmokatharistes-tzamokatharistes /

не будет отображать товары категории детской, кроме страницы:

B) https://www.e -theodoulidis.gr / категория продукта / spiti-kipos / atmokatharistes-tzamokatharistes /? Filter_xoritikotita = 0-18lt & query_type_xoritikotita = или

не будет фильтровать товары по атрибуту xoritikotita (0-18lt)

A) + B) покажет те же продукты, если используется exclude_product_cat_children ($ wp_query).

HELP Можно ли сохранить запрос атрибутов и не включать товары дочерней категории?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...