wp_get_nav_menu_name()WP 4.9.0

Возвращает имя меню, указанное в админке, на основе переданного идентификатора области меню.

Зарегистрировать место для меню можно с помощью функции register_nav_menu().

Хуки из функции

Возвращает

Строку. Названием меню или пустую строку, если меню нет.

Использование

$menu_name = wp_get_nav_menu_name( $location );
$location(строка) (обязательный)
Идентификатор области меню, указываемый в функции register_nav_menu().

Примеры

0

#1 Регистрация области меню и вывод названия меню

  • Зарегистрируем область меню с идентификатором primary и названием Основное меню;
  • В админке создадим меню с именем "Меню в шапке" и укажем ему область меню Основное меню;
  • Выведем названием меню, закрепленное за областью меню с идентификатором primary.

// Регистрация области меню "Основное меню" с идентификатором "primary"
add_action( 'after_setup_theme', 'theme_register_nav_menu' );
function theme_register_nav_menu() {
	register_nav_menu( 'primary', 'Основное меню' );
}

// Получение название меню, закрепленное за областью "primary"
$name_menu = wp_get_nav_menu_name( $location );

// Вывод имени меню
echo $name_menu; //> Меню в шапке 

Список изменений

С версии 4.9.0 Введена.

Код wp_get_nav_menu_name() WP 6.5.2

function wp_get_nav_menu_name( $location ) {
	$menu_name = '';

	$locations = get_nav_menu_locations();

	if ( isset( $locations[ $location ] ) ) {
		$menu = wp_get_nav_menu_object( $locations[ $location ] );

		if ( $menu && $menu->name ) {
			$menu_name = $menu->name;
		}
	}

	/**
	 * Filters the navigation menu name being returned.
	 *
	 * @since 4.9.0
	 *
	 * @param string $menu_name Menu name.
	 * @param string $location  Menu location identifier.
	 */
	return apply_filters( 'wp_get_nav_menu_name', $menu_name, $location );
}