Как исключить товары подкатегорий из страницы родительской категории в WooCommerce

В этой статье Вы узнаете, как исключить (не отображать) товары подкатегории на странице товаров родительской категории используя плагин Woocommerce.

В файле functions.php своей темы (если есть дочерняя, то в ней) внесите этот код:

/* Исключаем показ товаров из родительских категорий, если они не отмечены */
function exclude_product_cat_children_wplife($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_wplife');

После внесения кода, должно соблюдаться еще одно условие, для того чтобы товары исключились — они не должны быть отмечены в этой самой категории. По сути код работает так, показывает товары в тех категориях, в которых товар явно отмечен в иерархии. Если все условия будут соблюдены, то просматривая родительскую категорию, посетители увидят товары которые отмечены в этой категории, а не собирая все товары из подкатегорий.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх