我正在一个拥有多个菜单的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');
感谢进阶!
答案 0 :(得分:1)
您使用的过滤器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);