Добавление WordPress фильтров условно / для одной страницы

У меня есть два меню, основное и дополнительное, я хочу добавить 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 );

Как добавить этот фильтр условно в главное меню? Главное меню также используется только на первой странице, так что это может быть хорошим способом нацеливания.

0

Решение

Вы можете посмотреть на пример для 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 );
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]