Intereting Posts
Идентичные пользовательские таксономические пули для одинаковых иерархических детей Настройка URL-адресов страниц входа в систему WordPress и регистрации? Добавка добавлена ​​в боковую панель, а не из моей таблицы стилей Совместное использование базы данных для совместной разработки Как удалить весь раздел «Медиа» из главной навигации WordPress, не скрывая его? Только текущие изображения галереи с get_attached_media Разработка плагинов для зарегистрированных пользователей Страница не отображается под ее родителем По умолчанию задание сообщений настраиваемого типа сообщений является закрытым? Поиск, где происходит короткий код Почему пользовательский шаблон не рассматривается как страница с is_page ()? При переключении с html на визуальный редактор тег <p> стирается wordpress – загрузить шаблон на основе URI Всегда вставлять текст в визуальный редактор MySQL LIKE не работает

wp_nav_menu без указателя или темы theme_location

Может ли кто-нибудь сказать мне, как работает wp_nav_menu если не указано menu или theme_location ?

У меня есть несколько сайтов, которые используют внутреннюю настройку навигации, которая не указывает меню. Казалось бы, это приводит к поиску WordPress во всех меню до тех пор, пока страница не будет найдена. Для 99% моих сайтов эта функциональность работает отлично.

Тем не менее, я заметил, что если несколько меню содержат одну и ту же страницу (и эти страницы имеют разные дочерние wp_nav_menu указанные для них), wp_nav_menu похоже, возвращает первое меню, которое оно обнаруживает, которое содержит нужную страницу. В некоторых случаях это заканчивается из меню, которое не содержит всех страниц в основной навигационной иерархии.

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

Любые мысли о подходах или передовой практике были бы полезными.

Для полного раскрытия, обратите внимание, что я расширил свой wp_nav_menu, используя WP Nav Plus , но я не думаю, что плагин меняет мой вопрос

Я не уверен, что полностью слежу за вашим описанием, но дословно из документации:

Если не theme_location параметр theme_location , отображается функция

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

Codex> Справочник по функциям / wp nav menu

Поведение, которое вы видите, может быть просто связано с тем, какое меню является «первым», а не с некоторой сложной логикой, связанной с страницей.

Что касается рекомендации – зачем полагаться на что-то подобное на первом месте? Просто сделайте это явным, какое меню вам нужно, и устраните любую двусмысленность.