Описание nav_menu_css_class
— Filter
Хук nav_menu_css_class позволяет изменять классы CSS, применяемые к элементам навигационного меню в WordPress. Он срабатывает при создании меню и позволяет кастомизировать внешний вид меню, добавляя или изменяя классы для его элементов
Примеры использования
Пример добавления класса ‘active’ к текущему элементу меню:
add_filter('nav_menu_css_class', function($classes, $item) {
if($item->current) {
$classes[] = 'active';
}
return $classes;
}, 10, 2);
Этот код добавляет класс ‘active’ к элементу меню, если он соответствует текущей странице
Пример добавления кастомного класса к элементу меню с определённым ID:
add_filter('nav_menu_css_class', function($classes, $item) {
if($item->ID === 42) {
$classes[] = 'custom-class';
}
return $classes;
}, 10, 2);
В данном коде добавляется класс ‘custom-class’ к элементу меню с ID 42
Пример изменения класса для всех элементов меню, если они находятся в подменю:
add_filter('nav_menu_css_class', function($classes, $item) {
if($item->menu_item_parent) {
$classes[] = 'submenu-item';
}
return $classes;
}, 10, 2);
Здесь класс ‘submenu-item’ добавляется всем элементам, которые являются подменю
— Лучшие практики
– Использование
Используйте этот хук, когда необходимо изменить или добавить классы CSS к элементам меню в WordPress для улучшения стилизации
– Производительность
Хук не должен значительно влиять на производительность, так как изменения касаются только вывода классов
– Предупреждения
Избегайте добавления слишком большого количества классов, чтобы не усложнять стилизацию и не ухудшать читаемость кода
Альтернативы
Тип: filter
Этот хук позволяет изменять содержимое элементов меню, включая добавление HTML или текста
Используйте его, если нужно не только изменять классы, но и добавлять содержимое к элементам меню
Тип: filter
Этот хук позволяет добавлять атрибуты к ссылкам элементов меню, такие как ‘target’ или ‘rel’
Используйте его, если необходимо добавить дополнительные атрибуты к ссылкам в меню