WordPress как на ладони
wordpress jino

register_nav_menu() WP 3.0

Регистрируется одно расположение/место меню, к которому затем в админке прикрепляются меню.

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

Функция автоматически регистрирует поддержку навигационных меню для темы. т.е. используя эту функцию нет необходимости предварительно вызывать функцию: add_theme_support( 'menus' );

Чтобы зарегистрировать сразу несколько таких меню используйте register_nav_menus().

Функцию принято вызывать во время события after_setup_theme.

Работает на основе: register_nav_menus()

Хуков нет.

Возвращает

Функция ничего не возвращает, просто регистрирует расположение меню.

Использование

<?php register_nav_menu( $location, $description ); ?>
$location(строка) (обязательный)
Идентификатор расположения меню, как слаг - литая строка.
По умолчанию: нет
$description(строка) (обязательный)
Значение по умолчанию, которое будет показываться, если в меню нет элементов.
По умолчанию: нет

Примеры

#1. Пример регистрации меню

Используем этот код в файле темы functions.php.

add_action( 'after_setup_theme', 'theme_register_nav_menu' );
function theme_register_nav_menu() {
	register_nav_menu( 'primary', 'Primary Menu' );
}

После того, как меню зарегистрировано, зайдите в админку и добавьте в него элементы, а затем выведите его в шаблоне с помощью wp_nav_menu(), чтобы вывести меню в шаблоне.

Код register nav menu: wp-includes/nav-menu.php WP 4.9

<?php
function register_nav_menu( $location, $description ) {
	register_nav_menus( array( $location => $description ) );
}

Cвязанные функции

Из метки: nav_menu (меню навигации)

Еще из раздела: Другие функции темы

register_nav_menu 2 комментария
  • Еще раз приветствую. Возникла очередная проблема(( Надеюсь на Вашу помощь. У меня есть зарегистрированные таксономии и пост тайпы, если я перехожу в архив кастомного типа записей, меню начинает ругаться:
    «Warning: Illegal offset type in isset or empty in /home/…/wp-includes/taxonomy.php on line 258»

    Не могу понять что сделал не так. Может Вы сталкивались с такой проблемой? Мне бы просто понять, в каком направлении искать решение данной проблемы. Заранее огромное спасибо. help

    Ответить4 месяца назад #
    • Да, причем во всех меню данной страницы. У меня еще в футере есть меню, там тоже почему то ругается(((

      Ответить4 месяца назад #

Здравствуйте, !

Ваш комментарий