is_nav_menu()WP 3.0.0

Проверяет меню на существование по его ID, ярлыку или названию.

Работает на основе: wp_get_nav_menu_object()
1 раз — 0.004447 сек (очень медленно) | 50000 раз — 7.98 сек (быстро) | PHP 7.2.5, WP 4.9.8

Хуков нет.

Возвращает

true|false. False, если меню не было найдено.

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

is_nav_menu( $menu );
$menu(число/строка/WP_Term) (обязательный)
ID меню, его slug, название или объект меню.

Примеры

0

#1 Проверим произвольное меню на существование

$menu = 'menyu-s-rubrikami';    // slug меню
// $menu = 41;                  // или ID меню
// $menu = 'Меню с рубриками';  // или название меню

if( is_nav_menu( $menu ) ){
	echo 'Это меню существует';
}

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

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

Код is_nav_menu() WP 6.4.3

function is_nav_menu( $menu ) {
	if ( ! $menu ) {
		return false;
	}

	$menu_obj = wp_get_nav_menu_object( $menu );

	if (
		$menu_obj &&
		! is_wp_error( $menu_obj ) &&
		! empty( $menu_obj->taxonomy ) &&
		'nav_menu' === $menu_obj->taxonomy
	) {
		return true;
	}

	return false;
}