wp_get_nav_menu_name()
Получает имя меню по заданной области (локации) в админке.
Функция получает массив зарегистрированных областей меню, проверяет наличие нужной, получает объект меню через wp_get_nav_menu_object(), затем возвращает его свойство name, либо пустую строку, если к локации не привязано ни одно меню.
Если локация не привязана к меню или меню не имеет названия, возвращается пустая строка.
Применяется в темах для вывода динамических заголовков меню, например над <ul> перед wp_nav_menu().
Полученное название можно фильтровать через wp_get_nav_menu_name, например для перевода или добавления префикса.
Зарегистрировать область (локацию) для меню можно с помощью функции register_nav_menu().
Хуки из функции
Возвращает
Строку. Названием меню или пустую строку, если меню нет.
Использование
wp_get_nav_menu_name( $location );
- $location(строка) (обязательный)
- Идентификатор области меню, указанный в функции register_nav_menu() при регистрации, например
primary,footer.
Примеры
#1 Регистрация области меню и вывод названия меню
- Зарегистрируем область меню с идентификатором
primaryи названиемОсновное меню; - В админке создадим меню с именем "Меню в шапке" и укажем ему область меню
Основное меню; - Выведем названием меню, закрепленное за областью меню с идентификатором
primary.
// Регистрация области меню "Основное меню" с идентификатором "primary"
add_action( 'after_setup_theme', 'theme_register_nav_menu' );
function theme_register_nav_menu() {
register_nav_menu( 'primary', 'Основное меню' );
}
// Получение название меню, закрепленное за областью "primary"
$name_menu = wp_get_nav_menu_name( $location );
// Вывод имени меню
echo $name_menu; //> Меню в шапке #2 Выведем имя меню перед отображением элементов
$locations = get_nav_menu_locations(); $menu = wp_get_nav_menu_object( $locations['registered-menu-location-slug'] ); echo '<div class="footer-menu__title">' . esc_html( $menu->name ) . '</div>';
Список изменений
| С версии 4.9.0 | Введена. |
