我遇到了这个线程,试图解决同样的问题-这就是我想到的。我不知道它的性能如何,因为每个菜单项都会调用它,但似乎菜单是在WordPress中设置为分类法的,因此您可以使用has_term()
确定项目是否在特定菜单中,以及get_nav_menu_locations()
要拉回哪个菜单位于哪个主题位置的列表。
修改代码:
add_filter(\'nav_menu_css_class\' , \'special_nav_class\' , 10 , 2);
function special_nav_class($classes, $item){
$menu_locations = get_nav_menu_locations();
if ( has_term($menu_locations[\'primary-menu\'], \'nav_menu\', $item) ) {
$classes[] = \'btn\';
}
return $classes;
}