Описание функции is_nav_menu()
Функция is_nav_menu() используется для проверки, является ли заданное меню навигационным меню WordPress. Это полезно для определения, существует ли меню и может ли оно быть использовано в текущем контексте. Функция проверяет, является ли переданный аргумент объектом WP_Nav_Menu или строкой, представляющей идентификатор меню.
Эта функция часто используется в шаблонах тем и плагинов для динамического отображения меню.
Параметры
$menu
Тип: mixed
Обязательный: Да
По умолчанию: null
Описание: Идентификатор или объект навигационного меню для проверки
Возможные значения:
string: Идентификатор меню (slug или ID)
object: Объект WP_Nav_Menu
Возвращаемое значение
Тип: bool
Описание: Возвращает true, если меню является навигационным, иначе false
Возможные значения:
• true — если меню существует и является навигационным
• false — если меню не существует или не является навигационным
Примеры использования
Базовый пример проверки существования меню по его идентификатору
$menu_id = 'primary';
if (is_nav_menu($menu_id)) {
echo 'Меню существует';
} else {
echo 'Меню не существует';
}
Выводит ‘Меню существует’, если меню с идентификатором ‘primary’ есть
Проверка объекта навигационного меню
$menu_object = wp_get_nav_menu_object('primary');
if (is_nav_menu($menu_object)) {
echo 'Объект меню корректен';
}
Выводит ‘Объект меню корректен’, если меню существует
Безопасность
Валидация входных данных: Параметр menu проверяется на тип данных
Санитизация: Функция не требует дополнительной очистки
Рекомендации: Следует проверять результат перед использованием возвращаемого значения
— Связанные функции
Получает объект навигационного меню по идентификатору
Проверяет, зарегистрировано ли меню в теме
— Примечания
– Ограничения
Работает только с зарегистрированными навигационными меню
– Частые проблемы
- Возвращает false для неверных идентификаторов
- Необходимо убедиться, что меню зарегистрировано перед проверкой