当我查看一个子页面时,如何将类添加到导航菜单?

时间:2014-12-18 作者:andrew

我在我的主题中使用bootstrap,所以我需要添加一个active 至当前导航菜单项。

我可以通过使用nav_menu_css_class 滤器

add_filter(\'nav_menu_css_class\' , \'special_nav_class\' , 10 , 2);
function special_nav_class($classes, $item){
     if( in_array(\'current-menu-item\', $classes) ){
             $classes[] = \'active \';
     }
     return $classes;
}
问题是,假设当前页面是“关于”->“位置”

然后,“about”(关于)导航菜单将失去其“active”(活动)类,因为它显然不再是current-menu-item 但是如果我正在查看它的子页面,我还需要它具有“active”类

我该如何着手解决这个问题?

1 个回复
最合适的回答,由SO网友:andrew 整理而成

我想出了一个办法。

我将if语句更改为

 if (in_array(\'current-menu-item\', $classes) || 
     in_array(\'current-page-ancestor\', $classes)) {
          $classes[] = \'active \';
     }

结束

相关推荐

Wordpress Remove Submenus

我在这里找到了一个已回答的问题Remove menus and submenus 2 Answers 对于我的问题,但是否有一种方法可以稍微更改代码,以便删除所有编辑器角色的子菜单。不仅仅针对一个用户?有没有办法改进这段代码?我正在使用3.5.1 WordPress版本code that I am using: add_action(\'_admin_menu\', \'remove_editor_submenu\', 1); function remove_editor_submenu() {&