Делаю на сайте вывод меню через wp_nav_menu. Сайт на WordPress. WP автоматом выводит меню со своими тегами ul и li, и своими классами. Мне они не подходят, подскажите как можно либо к этим тегам прикрутить свои классы, либо вместо этих тегов вывести свои. Я пробовал заменить теги своими - добился того что нет возможности передать класс тегу . Код меню в оригинале:
<nav class="nav-menu">
<a href="#" class="nav-menu--link active-link">Главная</a>
<a href="catalog.html" class="nav-menu--link">Продукция</a>
<a href="about.html" class="nav-menu--link">О компании</a>
<a href="contacts.html" class="nav-menu--link">Контакты</a>
</nav>
и то что я намудрил в функции:
<nav class="nav-menu">
<?php
wp_nav_menu( array(
'theme_location' => 'top',
'menu_class' => 'nav-menu',
'container' => 'false',
'items_wrap' =>'<a class="nav-menu--link active-link"> </a>',
) );
?>
</nav>
Ссылка на многострадальный сайт: http://kaauto.volodysm.beget.tech/
Судя по тому, что я читал о механизме вывода меню - мне нужно будет писать свой Walker, глянул его исходник - понял что это плохая идея. Подскажите, пожалуйста, варианты решения, второй день уже сижу...
Самый простой способ - задайте классы прямо в админке:
Не надо уходить от структуры меню WordPress - через ul и li. Это правильное построение меню, особенно когда есть несколько уровней вложенности. Всё, что вы хотите, можно сделать классами.
Функция wp_get_nav_menu_items() (документация https://developer.wordpress.org/reference/functions/wp_get_nav_menu_items/) позволяет получить все элементы указанного меню и потом работать с ними так, как вам будет удобно
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости