Описание nav_menu_item_args
— Filter
Хук nav_menu_item_args позволяет изменить параметры элементов меню в WordPress. Он срабатывает при формировании каждого элемента меню и позволяет настраивать его атрибуты и параметры отображения
Примеры использования
Пример изменения текста элемента меню:
add_filter('nav_menu_item_args', function($args, $item) {
if ($item->title === 'Главная') {
$args['title'] = 'Домашняя страница';
}
return $args;
});
В этом примере текст элемента меню ‘Главная’ изменяется на ‘Домашняя страница’
Пример добавления CSS-класса к элементу меню:
add_filter('nav_menu_item_args', function($args, $item) {
if ($item->ID === 123) {
$args['class'] .= ' custom-class';
}
return $args;
});
Здесь мы добавляем кастомный класс к элементу меню с ID 123
Пример изменения атрибута target элемента меню:
add_filter('nav_menu_item_args', function($args, $item) {
if ($item->title === 'Контакты') {
$args['target'] = '_blank';
}
return $args;
});
В этом примере мы задаем атрибут target для элемента меню ‘Контакты’, чтобы он открывался в новом окне
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо динамически изменять параметры элементов меню в зависимости от контекста
– Производительность
Хук не должен существенно влиять на производительность, так как изменения касаются только оформления элементов меню
– Предупреждения
Следите за тем, чтобы изменения не нарушали функциональность навигации на сайте
Альтернативы
Тип: filter
Этот хук позволяет изменять массив объектов меню перед их выводом на экран
Используйте его, если нужно изменить не только параметры отдельных элементов, но и сам массив меню