Как добавить атрибут только первому элементу меню wordpress
Есть меню и мне нужно выбрать только первый элемент li и добавить в него атрибут, чтобы получилось вот так:
<ul class="sec-nav_list list">
<li class="sec-nav__item list-item" ><a href="#" class="open-modal" data-modal="#modal1">About</a></li>
<li class="sec-nav__item list-item"><a href="https://google.com">Gallery</a></li>
<li class="sec-nav__item list-item"><a href="https://google.com">Shop</a></li>
</ul>
Как это сделать с помощью WordPress? Я делал вот так, но добавлялось ко всем элементам:
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 === 'rightmenu' ) {
$atts['data-modal'] = '#modal1';
}
return $atts;
}
Ответы (1 шт):
Автор решения: KAGG Design
→ Ссылка
Сделать это можно разными способами, привязываясь к классу open-modal или href="#". Вот код, который добавляет data к просто первому li в меню:
function filter_nav_menu_link_attributes( $atts, $item, $args, $depth ) {
static $modal_added = false;
if ( 'rightmenu' === $args->theme_location && ! $modal_added ) {
$atts['data-modal'] = '#modal1';
$modal_added = true;
}
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'filter_nav_menu_link_attributes', 10, 4 );