如何使用wp_NAV_MENU()手动指定当前活动页面

时间:2010-09-02 作者:Jon

使用时是否有方法手动指定当前处于“活动”状态的页面wp_nav_menu()?

我有一个“产品”页面,在该页面上有指向各种(动态)自定义分类法的链接。当我点击其中一个分类法时,我会停留在“产品”页面上,但是wp_nav_menu() 忘记了我仍然在“产品”页面的事实。有没有办法解决这个问题?

谢谢

乔恩

3 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

如果您只想添加current_page_item 类创建一个菜单项,您可以连接到nav_menu_css_class 筛选,并在需要时添加该类。它叫when the menu is printed.

如果要访问整个菜单并添加类,请连接到wp_get_nav_menu_items 过滤器,从中获取整个$items 大堆您可以编辑classes 单个项目的属性。

SO网友:Chris_O

@Jon只要您使用<body <?php body_class(); ?>> WordPress将分配类current_page_item 随附菜单current_page_parent 如果您使用下拉菜单。

SO网友:Ross

Jan提到nav\\u menu\\u css\\u class filter,所以我查了一下,这个示例对我很有帮助来源:https://codex.wordpress.org/Plugin_API/Filter_Reference/nav_menu_css_class

function my_special_nav_class( $classes, $item ) {
    if ( is_single() && $item->title == \'Blog\' ) {
        $classes[] = \'special-class\';
    }
    return $classes;
}    
add_filter( \'nav_menu_css_class\', \'my_special_nav_class\', 10, 2 );

结束

相关推荐