Вопрос или проблема
У меня более 450 категорий и подкатегорий товаров WooCommerce. Я хочу добавить их все в элементы меню: категории как верхний уровень меню и подкатегории как подменю. Есть ли способ автоматизировать этот процесс?
Для таких крупных меню обычно более эффективно использовать функции, такие как wp_list_categories()
(которая также может выводить пользовательские таксономии, такие как категории продуктов) в любом шаблоне темы, который необходимо изменить. Бонус: ваше меню всегда будет актуальным, потому что в отличие от статического меню WP Nav, это всегда будет извлекать все категории продуктов и не потребует ручного обновления.
Имейте в виду, что иметь такие большие меню для навигации не всегда является хорошим пользовательским опытом, и Google специально рекомендует иметь менее 100 ссылок на страницу — что включает все ссылки, а не только меню. Таким образом, вам, возможно, будет лучше просто перечислить категории верхнего уровня в вашем меню и убедиться, что у вас есть надежная функция поиска, чтобы помочь с SEO и пользовательским опытом.
Ответ или решение
Для того чтобы автоматически добавить все подкатегории в меню WordPress, включая родительские категории в качестве верхнего уровня и подкатегории в качестве подменю, можно использовать функцию wp_list_categories()
. Этот метод позволяет гибко создавать меню, которые будут автоматически обновляться, что особенно полезно при наличии значительного количества категорий, таких как в вашем случае.
Шаги по добавлению категорий и подкатегорий в меню:
-
Создание функции: В вашем файле
functions.php
вашей темы или в отдельном плагине вы можете создать функцию для вывода категорий и подкатегорий. Вот пример кода, который может помочь:function custom_category_menu() { // Параметры для wp_list_categories $args = array( 'taxonomy' => 'product_cat', // Используйте 'category' для обычных категорий 'orderby' => 'name', // Сортировка по имени 'show_count' => false, 'pad_counts' => false, 'hierarchical' => true, // Включаем иерархию 'title_li' => '', // Убираем заголовок 'depth' => 0, // Уровень глубины 'hide_empty' => false, // Показывать пустые категории ); echo '<ul>'; wp_list_categories($args); echo '</ul>'; }
-
Вставка в шаблон: Теперь вам нужно вставить вызов этой функции в шаблон вашего сайта, где вы хотите отобразить меню категорий. Например, это может быть файл
header.php
,sidebar.php
или другой файл шаблона.<?php custom_category_menu(); ?>
-
Настройка стилей: Не забудьте добавить CSS стили для форматирования вашего меню. Это поможет сделать его более удобным для пользователей.
Важные замечания:
-
Пользовательский опыт: Учтите, что наличие слишком большого количества элементов в меню может негативно сказаться на восприятии пользователем и SEO. Рекомендуется ограничиться количеством верхнеуровневых категорий и предложить пользователям удобную функцию поиска для облегчения навигации по вашему сайту.
-
Проверка на мобильных устройствах: Обязательно протестируйте ваше меню на мобильных устройствах. Меню с большим количеством элементов может быть трудным для навигации на малых экранах.
Используя данный подход, вы сможете эффективно организовать ваши категории и подкатегории в WordPress, минимизируя необходимость в ручном обновлении меню при добавлении новых категорий.