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); }