register_nav_menus() WP 3.0.0

Реєструється відразу кілька областей меню (розташування меню), до яких потім прикріплюються меню.

Довільні меню налаштовуються в адмін-панелі та виводяться у шаблоні функцією wp_nav_menu() .

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

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

Функцію прийнято викликати під час події after_setup_theme .

Ця функція автоматично реєструє підтримку меню навігації для теми, тобто. використовуючи цю функцію немає необхідності попередньо викликати функцію:add_theme_support( 'menus' );

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

Основа для:
register_nav_menu()

Хуків немає.

Повертає

null. Функція нічого не повертає.

Використання

register_nav_menus($locations);
$locations
(масив) (обов’язковий)
Масив із назвами (ключі масиву) та описами (значення ключів) кожного створюваного меню.

Приклади

0

#1 Приклад реєстрації відразу двох меню.

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

add_action( 'after_setup_theme', function(){
	register_nav_menus([
		'header_menu' => 'Меню в шапці',
		'footer_menu' => 'Меню в підвалі'
	]);
} );

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

нотатки

  • Global. Масив. $_wp_registered_nav_menus

список змін

З версії 3.0.0Введено.

Код register_nav_menus() WP 6.0.2

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

	add_theme_support( 'menus' );

	foreach ( $locations as $key => $value ) {
		if ( is_int( $key ) ) {
			_doing_it_wrong( __FUNCTION__, __( 'Nav menu locations must be strings.' ), '5.3.0' );
			break;
		}
	}

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

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *