register_nav_menus

Регистрируется сразу несколько расположений меню, к которым затем прикрепляются меню.

Произвольные меню настраиваются в админ-панели и выводятся в шаблоне функцией wp_nav_menu().

При создании меню в него можно разные ссылки: на рубрики, метки, страницы, посты, внешние ссылки и т.д.

Регистрация произвольного меню для админки

Функция одновременно регистрирует поддержку навигационных меню темой.

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

Хуков нет.

Возвращает

Функция ничего не возвращает.

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

<?php register_nav_menus( $locations ); ?>
$locations(массив) (обязательный)
Массив с названиями (ключи массива) и описаниями (значения ключей) каждого создаваемого меню.
По умолчанию: нет

Примеры

#1. Пример, регистрации сразу двух меню.

Такая регистрация сразу включает поддержку навигационных меню у темы.

add_action('after_setup_theme', function(){
	register_nav_menus( array(
		'header_menu' => 'Меню в шапке',
		'footer_menu' => 'Меню в подвале'
	) );
});

Выводить меню в шаблоне будем функцией wp_nav_menu().

Заметки

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

В админ-панели в настройках меню, можно включить “расширенные настройки”, которые позволят указать различные атрибуты у HTML тегов ссылок в меню.

Код из


wp-includes/nav-menu.php

WP 4.7.2

<?php
function register_nav_menus( $locations = array() ) {
	global $_wp_registered_nav_menus;

	add_theme_support( 'menus' );

	$_wp_registered_nav_menus = array_merge( (array) $_wp_registered_nav_menus, $locations );
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *