Как скрыть категорию WooCommerce Storefront Theme

Опубликовано: 2020-10-05

Витрина магазина WooCommerce Скрыть категорию На любом веб-сайте электронной коммерции страница магазина является одной из самых важных страниц. Ваши клиенты не могут физически просматривать все продукты, которые вы продаете. Поэтому очень важно представить страницу магазина таким образом, чтобы им было легче оставаться на сайте и принимать решение о покупке.

Витрина магазина WooCommerce Скрыть категорию

Это краткое руководство предназначено специально для тех, кто создал магазины с помощью плагина WooCommerce. Я покажу вам, как отобразить все категории продуктов на странице магазина с помощью настройщика WooCommerce и как скрыть категории WooCommerce от отображения на странице магазина.

Тема Storefront легко интегрируется с WooCommerce. WooCommerce позволяет вам решить, как вы хотите, чтобы ваши продукты отображались на главной странице темы Storefront.

Как показать категории в теме Storefront

Когда вы входите на свой сайт WordPress и получаете доступ к панели инструментов в качестве пользователя-администратора, используя Каталог продуктов в разделе «Внешний вид»> «Настроить»> «WooCommerce », вы можете уникально отображать страницу магазина WooCommerce. Вы можете выбрать отображение только категории, категории с продуктами или только продуктов.

В итоге:

  • Показать продукты: будут перечислены все продукты.
  • Показать категории: будут перечислены все категории
  • Показать категории и продукты: Будут перечислены продукты и категории.

Если вы выберете опцию «Показать категории» в разделе « Отображение страницы магазина», тогда все категории продуктов будут отображаться на странице магазина, как показано ниже: Показать категории

Как скрыть категорию WooCommerce с главной страницы темы Storefront

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

Вот простые шаги, которые вам необходимо выполнить:

  1. Войдите на свой сайт WordPress и получите доступ к панели инструментов в качестве пользователя-администратора.
  2. В меню «Панель инструментов» нажмите « Меню внешнего вида» > «Меню редактора тем». Когда откроется страница редактора тем, найдите файл функций темы, в который мы добавим функцию, которая удалит категорию «Аксессуары».
  3. Добавьте следующий код в файл functions.php:
 /**

 * Показать товары только из выбранной категории.

 */

функция get_subcategory_terms($terms, $taxonomies, $args) {

            $new_terms = массив();

            $hide_category = массив (19); // Идентификаторы категории, которую вы не хотите отображать на странице магазина

                         // если категория товара и на странице магазина

            if (in_array('product_cat', $taxonomy) && !is_admin() && is_shop()) {


                foreach ($terms as $key => $term) {


                        если (! in_array($term->term_id, $hide_category)) {

                                    $new_terms[] = $термин;

                        }

                }

                $термины = $новые_термины;

            }

  вернуть $условия;

}

add_filter('get_terms', 'get_subcategory_terms', 10, 3);
  1. Чтобы увидеть результат, обновите домашнюю страницу. На снимке экрана ниже видно, что код удалил категорию «Аксессуары» с идентификатором = 19. удалить категорию

Как работает код

В фрагменте кода, которым я поделился, я использовал функцию обратного вызова get_subcategory_terms() и инициализировал переменную $new_terms с пустым массивом, который будет использоваться позже для создания массива категорий WooCommerce, которые будут отображаться на странице магазина.

После этого я инициализировал переменную $hide_category массивами идентификаторов категорий, которые я не хочу отображать на странице магазина. Вам нужно добавить идентификаторы категории, которую вы хотите скрыть на странице вашего магазина.

Затем я проверил, присутствует ли 'product_cat' в $taxonomies или нет, и проверил, является ли это интерфейсной страницей и страницей магазина, а затем выполнил только фактическую часть модификации. Кроме того, я использовал функцию is_admin(), с помощью которой мы можем проверить, является ли это внешним интерфейсом или административным. Я использовал функцию is_shop(), чтобы проверить, является ли это страницей магазина WooCommerce или нет.

Если все условия верны, я использовал цикл foreach для перебора данных $terms для подготовки новых данных термина в переменной $new_terms. Эта переменная не будет содержать данные термина категории WooCommerce, которые мы хотим скрыть на главной странице. Это означает, что для каждого термина я проверяю, отсутствует ли идентификатор термина в массиве $hide_category, а затем только добавляю термин в массив $new_terms.

Вывод

В этом посте я показал вам, как изменить вид страницы магазина, чтобы вывести список категорий товаров. Кроме того, я показал вам, как скрыть определенную категорию WooCommerce от отображения на главной странице с помощью небольшого фрагмента кода.

Кроме того, могут быть другие сценарии, чтобы скрыть продукты и категории от списка на главной странице. Это можно сделать, добавив еще немного кода в разработанный фрагмент кода, который вы можете выполнить в соответствии с вашими требованиями.

Похожие статьи