Показать пустые категории без товаров WooCommerce

Опубликовано: 25.02.2022 в категории: Woocommerce

Пустые категории без товаров по умолчанию WooCommerce не показывает на странице магазина и в виджете вывода категорий товаров. Но иногда владельцы интернет магазинов хотят, чтобы выводились все категории, в том числе и пустые, кроме «Uncategorized».

Давайте рассмотрим как показать пустые категории WooCommerce на странице магазина и в виджете, и как скрыть при этом категорию «Uncategorized» (Без категории) .

Виджет вывода категорий

В виджете вывода категорий достаточно убрать галочку в чекбоксе «Скрыть пустые категории».

категории без товаров в виджетеПравда в таком случае будет видно и категорию «Uncategorized».

Чтобы ее скрыть,  добавим в файл function.php следующий код:

//* Used when the widget is displayed as a dropdown
add_filter( 'woocommerce_product_categories_widget_dropdown_args', 'sb_exclude_wc_widget_categories' );
//* Used when the widget is displayed as a list
add_filter( 'woocommerce_product_categories_widget_args', 'sb_exclude_wc_widget_categories' );
function sb_exclude_wc_widget_categories( $cat_args ) {
$term = get_term_by('slug', 'uncategorized', 'product_cat');

if ($term) {
$cat_args['exclude'] = array( $term -> term_id); // category to exclude
// remove category ID from include list if an include list exists
if (isset($cat_args['include'])) {
$includes = wp_parse_id_list($cat_args['include']);
$key = array_search($term->term_id, $includes);
if ( isset($includes[$key]) ) {
unset( $includes[$key] ); // unset the category from include list
}
$cat_args['include'] = implode(', ', $includes);
}
return $cat_args;
}
}

Категории без товаров на странице магазина

Чтобы показать пустые категории на странице магазина добавим в  function.php следующий код:

// Показать пустые категории без товаров
add_filter( 'woocommerce_product_subcategories_hide_empty', '__return_false' );

Скрыть категорию UncategorizedА чтобы скрыть категорию «Uncategorized» на странице магазина, используем следующий код:

// Скрыть категорию Uncategorized со страницы магазина
add_filter( 'get_terms', 'ts_get_subcategory_terms', 10, 3 );
function ts_get_subcategory_terms( $terms, $taxonomies, $args ) {
$new_terms = array();
if ( in_array( 'product_cat', $taxonomies ) && ! is_admin() &&is_shop() ) {
foreach( $terms as $key => $term ) {
if ( !in_array( $term->slug, array( 'uncategorized' ) ) ) { //ваш слаг категории
$new_terms[] = $term;
}
}
$terms = $new_terms;
}
return $terms;
}

На этом все, читайте так-же о шорткодах WooCommerce

Удачи всем!

бесплатная накрутка подписчиков вконтакте

Самое читаемое:

Всего комментариев: 0

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

Ваш email не будет опубликован.

Заявка на бесплатную консультацию

Для бесплатной консультации укажите свое имя и номер телефона в форме ниже. Я перезвоню Вам и отвечу на все вопросы.

    Даю свое согласие на обработку персональных данных.

    ×
    Заказать сайт

    Чтобы заказать сайт заполните форму ниже. Я перезвоню Вам, отвечу на все вопросы, приму Ваш заказ и назову его ориентировочную стоимость.

      Даю свое согласие на обработку персональных данных.

      ×
      Заказать сайт по акции "Все включено"

      Для заказа сайта по акции «Все включено» заполните форму ниже. Я перезвоню Вам, отвечу на все вопросы, и приму Ваш заказ.

        Даю свое согласие на обработку персональных данных.

        ×
        Заказ услуги

        Для заказа услуги заполните форму ниже. Я перезвоню Вам, чтобы уточнить подробности, оговорить сроки и стоимость услуги.

          Даю свое согласие на обработку персональных данных.

          ×