Intereting Posts
Количество кол-ва сообщений за текущий месяц Переключение темы и обратно приведет к сбросу настроек предыдущей темы? Создание отдельных страниц для профилей авторов и списков сообщений автором Как добавить поле выше раздела пароля на странице профиля Могу ли я создать отдельную запись, находящуюся в нескольких сайтах? Создание пользовательского пути к архиву wordpress объединяет два запроса вместе в основном запросе Плагин WordPress обновляет / устанавливает файл как неизменный для предотвращения изменения определенных файлов? $ .browser Неопределенный, по-видимому, вызывающий неправильный просмотр страницы как сделать запись в профиле только для чтения, кроме менеджеров сайтов Как добавить пользовательскую дублируемую ссылку на сообщение или продукт? Twitter-виджет загружается правильно во всех темах, кроме моей собственной темы? На страницу Постоянная ссылка Структура для типа публикации страницы Параметры темы на CPT Где я могу найти схему основной архитектуры плагина wordpress?

Почему wp_nav_menu () не показывает правильную работу при вызове два раза подряд?

Я просто заметил что-то странное, чего я раньше не видел. Я работаю над проектом с использованием WP 3.6.1. Этот проект имеет два разных меню (фактически, три, но это не важно). Я wp_nav_menu их через функцию wp_nav_menu .

Я уже много раз делал это сейчас … но сегодня все по-другому. Сегодня это не работает 🙁

Мой PHP-код, помещенный в header.php, выглядит так:

  <nav id="nav-menu-container"> <div id="main-menu" class="main-menu menu clearfix"> <?php wp_nav_menu('header_main'); ?> </div> <div id="secondary-menu" class="secondary-menu menu clearfix"> <?php wp_nav_menu('header_secondary'); ?> </div> </nav> 

Элементы меню объявляются в functions.php а два разных меню настраиваются через панель управления, чтобы отображаться в каждом месте.

  if (function_exists('register_nav_menus')){ register_nav_menu('header_main', 'Menú principal' ); register_nav_menu('header_secondary', 'Menú secundario' ); } 

Но первое меню продолжает печататься в двух местах. Как я сказал выше, использование двух разных меню – это то, что Ive делало в прошлом, но сегодня я не вижу ошибки … и есть и ошибка, так как она не работает: S

Есть идеи?

Solutions Collecting From Web of "Почему wp_nav_menu () не показывает правильную работу при вызове два раза подряд?"

Вы не вызываете wp_nav_menu() правильно.

Вам нужно передать массив args и объявить ключ theme_location .

Я предполагаю, что, поскольку вы передаете строку, а не массив, wp_nav_menu() не распознает параметр и возвращается к выходу по умолчанию:

  • меню, соответствующее идентификатору, slug или имени, заданному параметром меню, если в этом меню есть не менее 1 элемент;
  • в противном случае – первое непустое меню;
  • в противном случае вывод функции, заданной параметром fallback_cb (wp_page_menu (), по умолчанию);
  • иначе ничего.

И вы видите первый непустой вывод меню в обоих местах.

Попробуйте это вместо этого:

 wp_nav_menu( array( 'theme_location' => 'header_main' ) ): 

а также

 wp_nav_menu( array( 'theme_location' => 'header_secondary' ) ): 

Проблема в том, что wp_nav_menu качестве входных wp_nav_menu требует ассоциативный массив, и я вхожу в необработанную строку.

Этот код может работать повсюду.

  <nav id="nav-menu-container"> <div id="main-menu" class="main-menu menu clearfix"> <?php wp_nav_menu( array('theme_location' => 'header_main') ); ?> </div> <div id="secondary-menu" class="secondary-menu menu clearfix"> <?php wp_nav_menu( array('theme_location' => 'header_secondary') ); ?> </div> </nav> 

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