Я работаю над веб-сайтом Wordpress, на котором настроено несколько меню. Я хотел добавить пользовательские атрибуты к пунктам меню в одном из меню, используя «nav_menu_link_attributes», но это добавляет атрибуты ко всем меню. Как бы я ограничил это только одним конкретным меню? Я не могу найти документацию по этому вопросу.
Мой текущий код:
function add_menu_atts($atts){
$atts['data-inventory-link'] = $atts['href'];
$atts['data-model'] = $atts['title'];
return $atts;
}
add_filter('nav_menu_link_attributes', 'add_menu_atts');
Используемый вами фильтр nav_menu_link_attributes
поддерживает и другие аргументы. Вы можете передать второй параметр $item
и третий параметр $args
, который содержит сведения об элементе. Попробуйте что-то вроде этого:
function add_menu_atts($atts, $item, $args){
// your check for primary menu location
if ( $args->theme_location == 'primary' ) {
$atts['data-inventory-link'] = $atts['href'];
$atts['data-model'] = $atts['title'];
}
return $atts;
}
add_filter('nav_menu_link_attributes', 'add_menu_atts', 10, 3);
Потрясающий! Это именно то, что я искал! Спасибо!