2010-10-23 1 views
6

Как проверить, существует ли в WordPress 3 меню с именем, например 'topnavbar'?Как проверить, существует ли меню с определенным именем

+0

Что вы имеете в виду под «меню» точно? Меню в фоновом режиме? –

+0

Я имею в виду меню, которое вы можете сделать в области администратора. Мне нужно проверить программно, если меню с каким-то именем существует, а затем использовать его примерно так: wp_nav_menu (array ('menu' => 'navbar', 'depth' => '1', 'walker' => $ walker)); –

ответ

4

Если вы посмотрите на код функции wp_nav_menu, одна из первых вещей, которую он делает, это получить меню с этим именем, используя функцию wp_get_nav_menu_object. Эта функция вернет меню, или false, если оно не существует

+0

Это работает как для id меню ['menu_id'], так и для имени меню ['menu']. –

10

has_nav_menu() похоже на то, что вы ищете. http://codex.wordpress.org/Function_Reference/has_nav_menu

+2

Вводящий в заблуждение ответ! Он проверяет меню ** **, а не имя/идентификатор меню. – frnhr

+5

Вводящий в заблуждение комментарий! Он проверяет **, если меню существует в указанной позиции **. Комментарий вводит в заблуждение, потому что немного отбросил меня. Я думаю, что большинство людей приходят сюда искать has_nav_menu() * (я имею в виду - почему вы действительно хотите знать, что пользователь назвал меню ...) * От источника has_nav_menu(): '@return bool. имеет меню. « – Norris

+0

« Почему вы хотите знать? » Отчасти потому, что об этом спрашивал искатель, и этого должно быть достаточно. Если вы не знаете ответа, вы не должны отвечать, подвергая сомнению его мотивы. Я хочу знать, потому что на моем текущем сайте клиент должен иметь контроль над некоторыми подменю (т. Е. Создавать меню в admin) и иметь некоторые подменю, созданные из пользовательских дочерних сообщений, потому что их много, а записи подменю должны соответствовать их опубликованному статусу , –

Смежные вопросы