Intereting Posts
Изменить разделители в тегах HTML <title> </ title> Создание различных элементов галереи галереи границ страница не обновляется с помощью базы данных Есть ли способ отправить только мета-содержимое на странице редактирования сообщений? Как получить URI для темы без домена. Пример: / wp-content / themes / my-theme Встроенный вызов Ajax после термина добавляется с помощью @ или # и т. Д., Отображаемых в div Сколько времени потребуется, чтобы плагин полностью загрузился в репозиторий WordPress.org? Пользовательское мета-поле не дает мне числового значения Ошибка детской темы «Шаблон отсутствует» WordPress прослушивает $ _POST в functions.php Захват в $ wpdb Эхо-строка и функция? Мне нужно сгенерировать CSS для моего плагина из функции, как мне сопоставить запрос функции в интерфейсе? Заказать сообщения с пользовательским массивом таксономии Изменить основной цикл 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> 

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