register_nav_menus()
Реєструється відразу кілька областей меню (розташування меню), до яких потім прикріплюються меню.
Довільні меню налаштовуються в адмін-панелі та виводяться у шаблоні функцією wp_nav_menu() .
При створенні меню можна додати різні посилання: на рубрики, мітки, сторінки, пости, зовнішні посилання і т.д.
Функцію прийнято викликати під час події after_setup_theme .
Ця функція автоматично реєструє підтримку меню навігації для теми, тобто. використовуючи цю функцію немає необхідності попередньо викликати функцію:add_theme_support( 'menus' );
В адмін-панелі в налаштуваннях меню можна включити “розширені налаштування”, які дозволять вказати різні атрибути у HTML тегів посилань у меню.
register_nav_menu()
Хуків немає.
Повертає
null. Функція нічого не повертає.
Використання
register_nav_menus($locations);
- $locations
(масив) (обов’язковий) - Масив із назвами (ключі масиву) та описами (значення ключів) кожного створюваного меню.
Приклади
#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() 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);
}