wp_nav_menu_args хук-фільтрWP 3.0.0

Дозволяє змінити аргументи, що передаються у функцію 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
(масив)
Масив аргументів.

Приклади

0

#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;
}
0

#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Введено.

Де викликається хук

Де використовується хук у WordPress

wp-includes/class-wp-customize-nav-menus.php 1323

add_filter( 'wp_nav_menu_args', array( $this, 'filter_wp_nav_menu_args' ), ​​1000);

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

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