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