Описание функции wp_nav_menu()
Функция wp_nav_menu() отвечает за вывод навигационных меню в темах WordPress. Она позволяет разработчикам легко интегрировать меню, созданные в админке, в шаблоны тем. Меню могут содержать произвольные ссылки, страницы, категории и другие таксономии.
Функция автоматически обрабатывает вывод HTML и добавляет необходимые классы CSS для стилизации.
Параметры
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для настройки меню
Возможные значения:
theme_location: Строка, определяющая местоположение меню в теме
menu: Имя меню, если не используется theme_location
container: div, nav,
container_class: Класс для контейнера меню
container_id: ID для контейнера меню
menu_class: Класс для самого меню
fallback_cb: Функция по умолчанию, если меню не задано
items_wrap: Формат вывода элементов меню
depth: Глубина вложенности меню
walker: Объект класса Walker_Nav_Menu для кастомизации вывода
Возвращаемое значение
Тип: string
Описание: HTML-код меню или пустая строка
Возможные значения:
• HTML-код меню при успешном выполнении
• Пустая строка если меню не найдено
Примеры использования
Вывод меню по умолчанию без дополнительных параметров
wp_nav_menu();
Меню будет выведено в месте, где вызвана функция
Вывод меню с указанием местоположения и класса контейнера
$args = array(
'theme_location' => 'header-menu',
'container_class' => 'main-navigation'
);
wp_nav_menu($args);
Убедитесь, что ‘header-menu’ зарегистрировано в functions.php
Предотвращение вывода меню по умолчанию, если оно не найдено
$args = array(
'theme_location' => 'footer-menu',
'fallback_cb' => false
);
wp_nav_menu($args);
Если меню не найдено, ничего не будет выведено
Проверка наличия меню перед его выводом
if (has_nav_menu('header-menu')) {
wp_nav_menu(array('theme_location' => 'header-menu'));
}
Обеспечивает наличие меню перед его вызовом
Безопасность
Валидация входных данных: Параметры проверяются внутри функции на корректность
Санитизация: WordPress обрабатывает параметры для предотвращения XSS
Рекомендации: Используйте wp_kses() для безопасного вывода пользовательских данных
— Связанные функции
Регистрация одного или нескольких местоположений меню
Получает элементы меню для заданного меню
— Хуки
Фильтрует аргументы перед выводом меню
Фильтрует элементы меню перед их выводом
— Примечания
– Ограничения
Функция выводит только зарегистрированные меню
– Частые проблемы
- Пустое меню при отсутствии зарегистрированных элементов
- Ошибки в классах при неправильной настройке