因此,以下代码可以使当前父菜单项处于活动状态(以不同的颜色背景突出显示):
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class ($classes, $item) {
if (in_array('current-menu-parent', $classes) || in_array('current-
menu-item', $classes)){
$classes[] = 'active';
}
return $classes;
}
我唯一的问题是它还会突出显示页脚菜单项。我希望它只影响主菜单。我做了以下尝试以使其工作(除了一些变化):
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 3);
function special_nav_class ($classes, $item, $args) {
if ($args->theme_location == 'primary' && in_array('current-menu-
parent', $classes) || in_array('current-menu-
item', $classes)){
$classes[] = 'active';
}
return $classes;
}
和
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 3);
function special_nav_class ($classes, $item, $args) {
if ($args->theme_location == 'primary') {
if (in_array('current-menu-parent', $classes) || in_array('current-
menu-item', $classes)){
$classes[] = 'active';
}
}
return $classes;
}
但它似乎不起作用。页脚项目仍然受到影响。
有什么想法?
答案 0 :(得分:0)
尝试在页脚中使用外部封闭的CSS选择器,即#footer,以定位菜单和菜单项。
#footer #menu .current-menu-parent {background-color:#000 !important;}
答案 1 :(得分:0)
很奇怪......第三个例子对我有用。 检查WP admin
中的wp_nav_menu()函数调用和菜单区域wp_nav_menu(array('theme_location' => 'primary'));//header
wp_nav_menu(array('theme_location' => 'secondary'));//footer
并检查WP版本。你需要3.1 +