wp_nav_menu_args
Дозволяє змінити аргументи, що передаються у функцію wp_nav_menu() після того, як вони були злиті з дефолтними значеннями.
Використання
add_filter( 'wp_nav_menu_args', 'wp_kama_nav_menu_args_filter');
/**
* Function for `wp_nav_menu_args` filter-hook.
*
* @param array $args Array of wp_nav_menu() arguments.
*
* @return array
*/
function wp_kama_nav_menu_args_filter( $args ){
// Filter...
return $args;
}- $args
(масив) - Масив аргументів.
Приклади
#1 Змінимо параметри у всіх меню одночасно
add_filter( 'wp_nav_menu_args', 'change_nav_menu_args' );
function change_nav_menu_args( $args ) {
$args['fallback_cb'] = false;
$args['menu_class'] = 'parent-menu';
$args['item_spacing'] = 'discard';
return $args;
}#2 Змінимо параметри у певного меню
Змінимо деякі параметри лише у меню, яке відображається в області меню header-menu.
Також у цьому коді показано, як зробити перевірку на авторизованого користувача, та показувати іншу назву меню для не авторизованих користувачів.
add_filter( 'wp_nav_menu_args', 'change_nav_menu_args' );
function change_nav_menu_args( $args ) {
if ( $args['theme_location'] === 'header-menu' ) {
$args['fallback_cb'] = false;
$args['menu_class'] = 'parent-menu';
$args['item_spacing'] = 'discard';
if ( ! is_user_logged_in() ) {
$args['menu'] = 'Ваша назва меню';
}
}
return $args;
}
список змін
| З версії 3.0.0 | Введено. |
Де викликається хук
wp_nav_menu_args
Де використовується хук у WordPress
wp-includes/class-wp-customize-nav-menus.php 1323
add_filter( 'wp_nav_menu_args', array( $this, 'filter_wp_nav_menu_args' ), 1000);