У меня есть два меню, основное и дополнительное, я хочу добавить data-scroll=''
атрибуты только к главному меню. Я успешно добавляю атрибут ко всем меню с текущим кодом:
function add_data_scroll( $atts, $item, $args ) {
$atts['data-scroll'] = ' ';
return $atts;
}
add_filter( 'nav_menu_link_attributes', 'add_data_scroll', 10, 3 );
Как добавить этот фильтр условно в главное меню? Главное меню также используется только на первой странице, так что это может быть хорошим способом нацеливания.
Вы можете посмотреть на пример для wp_nav_menu_args
фильтр на WordPress.
Вам нужно установить theme_location
Параметр при определении вашего меню:
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
В вашем фильтре вы можете сделать:
function add_data_scroll( $atts, $item, $args ) {
if( 'primary' == $args['theme_location'] )
{
$atts['data-scroll'] = ' ';
return $atts;
}
}
add_filter( 'nav_menu_link_attributes', 'add_data_scroll', 10, 3 );
Других решений пока нет …