Intereting Posts
Что такое полный URL для сообщения? remove_action не работает, даже после изменения приоритета Пользовательский репозиторий Тема и плагин WordPress Как отображать псевдоним пользователя по умолчанию вместо имени пользователя wordpress threaded comments – настройка вложенной ul / как отображается дочерняя ul Как отобразить сообщение (с помощью hook_theme hook) после деактивации моей темы? Пользовательский тип сообщения или короткий код, что выбрать? Добавить текстовый домен для навигации Как настроить список комментариев предопределенное пользовательское поле на странице регистрации Потяните случайные вложения с разбиением на страницы Могут ли изображения автоматически сжиматься? Функция «Нажмите кнопку« Обновить »на всех постах Я не могу заставить RSS-канал работать. Я получаю «синтаксический анализ XML не удалось» Различные темы на одном сайте

Проблема с большим большим меню WP

Эй, ребята!

Я ищу лучшие методы WP для обработки мега большого меню. Мое меню навигации содержит около 400 ссылок, поэтому, если я создаю только одно меню, то это выглядит так уродливо … Я могу разделить его на многие подменю, но не знаю, как это сделать правильно.

Думая о создании главного меню и произносите 10 подменю. Это будет выглядеть намного лучше, но тогда как должен выглядеть мой PHP-скрипт? Теперь у меня есть этот скрипт:

<div class="col-md-12"> <?php wp_nav_menu( array( 'theme_location' => 'primary', 'container' => 'div', 'container_class' => 'navbar-collapse navbar-main-collapse', 'menu_class' => 'nav navbar-nav', 'fallback_cb' => 'wp_bootstrap_navwalker::fallback', 'walker' => new wp_bootstrap_navwalker()) ); ?> </div> 

Заранее спасибо.


PS. Мое меню:

главное меню –

  1. item-1 - sub-1 - subsub-1 * subsubsub-1....10 - subsub-2 .... * subsubsub-1....10 - subsub-20 * subsubsub-1....10 - sub-2 .... - subsub-1 * subsubsub-1....10 - subsub-2 .... * subsubsub-1....10 - subsub-20 ..... * subsubsub-1....10 - sub-10 - subsub-1 * subsubsub-1....10 - subsub-2 .... * subsubsub-1....10 - subsub-20 * subsubsub-1....10 2. item-2 - sub-1 - subsub-1 * subsubsub-1....10 - subsub-2 .... * subsubsub-1....10 - subsub-20 * subsubsub-1....10 - sub-2 .... 3. item-3 - sub-1 - subsub-1 * subsubsub-1....10 - subsub-2 .... * subsubsub-1....10 - subsub-20 * subsubsub-1....10 - sub-2 .... 

С первого взгляда это кажется трудной задачей, но на самом деле даже у меня с небольшими навыками php можно решить эту проблему, просто добавив следующий код в мой собственный класс walker:

 if ( $depth == 1 ) { // remove this statement if depth check is not required if (wp_get_nav_menu_object($item->title)) {// checking if item name matches to menu name $item_output .= wp_nav_menu( array('menu' => $item->title, 'container_class' => 'mgmenu_tabs_panels', 'menu_class' => '', 'menu_id' => 'section'. $item->ID, 'echo' => 0 )); } } 

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

В основном этот скрипт позволяет разделить любое большое меню на многие более мелкие.