3 уровня Глубокое навигационное меню Не показывать все уровни

У меня есть навигационное меню на 3 уровня, которое будет отображаться рядом со всеми страницами сайта, кроме главной страницы. Проблема заключается в том, что только 2 из моих 3 уровней отображаются в меню при отображении его с помощью wp_nav_menu. Я пробовал указать параметр глубины и без него ничего не получилось. Я использую тему Roots, если это помогает.

Ниже приведено изображение о том, как меню находится в разделе «Внешний вид»> «Меню».

введите описание изображения здесь

Проблема, как видно из выше, заключается в том, что демонстрируются «Производственные решения» и «Лавина», но детские предметы под лавиной не показываются. И это не стиль, либо 3-й уровень просто не выводится вообще. Я не использую никаких специальных ходунков или что-либо еще, это через регистр запасов и отображение функций навигационного меню.

Это код, который регистрирует все мои навигационные меню:

register_nav_menus(array( 'accordion_navigation' => __('Page Accordion Navigation', 'roots'), 'footer_navigation_left' => __('Footer Navigation Left', 'roots'), 'footer_navigation_solutions' => __('Footer Product Solutions', 'roots'), 'footer_navigation_news' => __('Footer News & Events', 'roots'), 'footer_navigation_about' => __('Footer About', 'roots') )); 

В моем шаблоне страницы у меня есть этот код для отображения меню:

 wp_nav_menu(array('theme_location' => 'accordion_navigation')); 

Я что-то упустил?

Solutions Collecting From Web of "3 уровня Глубокое навигационное меню Не показывать все уровни"

Я, наконец, решил проблему, это связано с значением по умолчанию в теме Roots, переопределяющим параметр глубины для hook, называемого wp_nav_menu_args (который я даже не знал, был крючком). Код можно найти в корневом каталоге темы в папке «inc», файл с именем roots-cleanup.php.

Исходный код выглядит так:

 function roots_nav_menu_args($args = '') { $args['container'] = false; $args['depth'] = 2; $args['items_wrap'] = '<ul class="nav">%3$s</ul>'; if (!$args['walker']) { $args['walker'] = new Roots_Nav_Walker(); } return $args; } 

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

Все, что я сделал, это увеличить глубину до более высокого значения, которое я никогда не смогу достичь до 8:

 function roots_nav_menu_args($args = '') { $args['container'] = false; $args['depth'] = 8; $args['items_wrap'] = '<ul class="nav">%3$s</ul>'; if (!$args['walker']) { $args['walker'] = new Roots_Nav_Walker(); } return $args; } 

Урок, извлеченный здесь, заключается в том, чтобы ВСЕГДА убедиться в том, что плагин или в этом случае привязка рамки темы ничего не меняет. Надеюсь, это поможет кому-то другому использовать тему Roots и попробовать многоуровневые меню.

Если в HTML существует более глубокое меню, но оно не отображается при наведении, добавьте этот код в свой CSS-файл:

 .dropdown-menu li:hover a+ul { display: block; top: 80%; // optional }