Как добавить класс ссылке в навигационном меню при посадке на Wordpress?

При разбивке страницы на части, в хедере добавил меню. Смог добавить свой класс для ul, но вся стилизация проходит через стили залитые в класс для ссылки. Вот код страницы
<ul class="mainNavigation" id="mobile">
                <li id="toggle"><a href="" class="mainLink" >Ассортимент</a>
                    <ul class="dropDown" id="drop">
                        <li id="check1"><a href="" class="drop-down-menu"><div class="miniIcon miniCottage"></div><span>Изолит® Cottage</span></a></li>
                        <li><a href="" class="drop-down-menu"><div class="miniIcon miniProfi"></div><span>Изолит® PROFI</span></a></li>
                        <li><a href="" class="drop-down-menu"><div class="miniIcon miniGreen"></div><span>Изолит® GREEN</span></a></li>
                    </ul>
                </li>
                <li><a href="" class="mainLink">Решения</a></li>
                <li><a href="" class="mainLink">Объекты</a></li>
                <li><a href="" class="mainLink">Статьи</a></li>
                <li><a href="" class="mainLink">Где купить</a></li>
            </ul>

Возможно ли как-то добавить свой класс тегу a внутри li ? прямого доступа, на сколько я понимаю нет , и так же как добавлял класс ul

<?php wp_nav_menu(array('theme_location' => 'menu',  'container' => 'ul', 'menu_class' =>'mainNavigation')); ?>


ссылку уже не получится. Как вообще в таких случаях поступают?
  • Вопрос задан
  • 3638 просмотров
Пригласить эксперта
Ответы на вопрос 1
Aksarr
@Aksarr
web-developer
// Добавляем классы и атрибуты ссылкам в пунктах меню
add_filter( 'nav_menu_link_attributes', 'nav_link_filter', 10, 4 );
function nav_link_filter( $attr ){
	if ( $attr['href'] == get_bloginfo('url') . '/rules/' ) {
		$attr['class'] = 'modal-link';
		$attr['data-modal'] = 'rules';
	}
	if ( $attr['href'] == get_bloginfo('url') . '/feedback/' ) {
		$attr['class'] = 'modal-link';
		$attr['data-modal'] = 'feedback';
	}
	return $attr;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы