Всем добра, уважаемые знатоки!
Прошу совета из разряда, что я делаю не так и как это исправить.
Суть следующая:
Пытаюсь изменить классы для меню в состоянии burger, задача в том, что бы присвоить свой класс для li и a.
Для версии desktop, изменения внеслись корректно, а вот что с бургером не так, ни как не могу понять.
Проблема в том, что для li класс не меняется, a для самой ссылки класс не присваивается.
Собственно код function.php:
register_nav_menus([
'header-menu' => 'Шапка сайта',
'header-mobile-menu' => 'Меню для мобильных',
'footer-menu' => 'Подвал сайта'
]);
// основные параметры меню
add_filter('wp_nav_menu_args', 'filter_wp_menu_args');
function filter_wp_menu_args($args)
{
if ($args['theme_location'] === 'header-menu') {
$args['container'] = 'nav';
$args['menu_id'] = 'menu';
$args['container_class'] = 'header__nav nav';
$args['items_wrap'] = '<ul id="nav__list" class="%2$s">%3$s</ul>';
$args['menu_class'] = 'nav__list';
$args['depth'] = '2';
}
if ($args['theme_location'] === 'header-mobile-menu') {
$args['container'] = 'ul';
$args['menu_id'] = 'mobile-nav__list';
$args['menu_class'] = 'mobile-nav__list';
$args['depth'] = '2';
}
return $args;
}
// Смена атрибут ID у тега LI
add_filter('nav_menu_item_id', 'filter_menu_item_css_id', 10, 4);
function filter_menu_item_css_id($menu_id, $item, $args, $depth)
{
return $args->theme_location === 'header-menu' ? '' : $menu_id;
return $args->theme_location === 'header-mobile-menu' ? '' : $menu_id;
};
// Смена атрибут class у тега li desktop
add_filter('nav_menu_css_class', 'filter_nav_menu_css_classes', 10, 4);
function filter_nav_menu_css_classes($classes, $item, $args, $depth)
{
if ($args->theme_location === 'header-menu') {
$classes = ['link_nav'];
if ($item->current) {
$classes[] = 'link_nav--active';
}
}
// Смена атрибут class у тега li burger
if ($args->theme_location === 'header-mobile-menu') {
$classes = ['delete_class'];
}
return $classes;
};
//Классы для ссылок desktop
add_filter('nav_menu_link_attributes', 'filter_nav_menu_link_attributes', 10, 4);
function filter_nav_menu_link_attributes($atts, $item, $args, $depth)
{
if ($args->theme_location === 'header-menu') {
$atts['class'] = 'link-header';
if ($item->current) {
$atts['class'] .= ' active';
}
}
//Классы для ссылок burger
if ($args->theme_location === 'header-mobile-menu') {
$atts['class'] = 'my_class_2';
if ($item->current) {
$atts['class'] .= ' active';
}
}
return $atts;
};