Как добавить все подкатегории в подменю меню WordPress

Вопрос или проблема

У меня более 450 категорий и подкатегорий товаров WooCommerce. Я хочу добавить их все в элементы меню: категории как верхний уровень меню и подкатегории как подменю. Есть ли способ автоматизировать этот процесс?

Для таких крупных меню обычно более эффективно использовать функции, такие как wp_list_categories() (которая также может выводить пользовательские таксономии, такие как категории продуктов) в любом шаблоне темы, который необходимо изменить. Бонус: ваше меню всегда будет актуальным, потому что в отличие от статического меню WP Nav, это всегда будет извлекать все категории продуктов и не потребует ручного обновления.

Имейте в виду, что иметь такие большие меню для навигации не всегда является хорошим пользовательским опытом, и Google специально рекомендует иметь менее 100 ссылок на страницу — что включает все ссылки, а не только меню. Таким образом, вам, возможно, будет лучше просто перечислить категории верхнего уровня в вашем меню и убедиться, что у вас есть надежная функция поиска, чтобы помочь с SEO и пользовательским опытом.

Ответ или решение

Для того чтобы автоматически добавить все подкатегории в меню WordPress, включая родительские категории в качестве верхнего уровня и подкатегории в качестве подменю, можно использовать функцию wp_list_categories(). Этот метод позволяет гибко создавать меню, которые будут автоматически обновляться, что особенно полезно при наличии значительного количества категорий, таких как в вашем случае.

Шаги по добавлению категорий и подкатегорий в меню:

  1. Создание функции: В вашем файле 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>';
    }
  2. Вставка в шаблон: Теперь вам нужно вставить вызов этой функции в шаблон вашего сайта, где вы хотите отобразить меню категорий. Например, это может быть файл header.php, sidebar.php или другой файл шаблона.

    <?php custom_category_menu(); ?>
  3. Настройка стилей: Не забудьте добавить CSS стили для форматирования вашего меню. Это поможет сделать его более удобным для пользователей.

Важные замечания:

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

  • Проверка на мобильных устройствах: Обязательно протестируйте ваше меню на мобильных устройствах. Меню с большим количеством элементов может быть трудным для навигации на малых экранах.

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

Оцените материал
Добавить комментарий

Капча загружается...