将菜单项标记为类别的当前菜单项

时间:2015-09-26 作者:moonvader

我在我的WP网站上有一些分类。当用户看到这些类别和帖子时,我想将其中一个菜单项标记为活动。

如何将我的菜单项之一设置为此类别和帖子的“当前菜单项”类?

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

我使用这个函数。首先,您必须向菜单项添加一些自定义类(允许在屏幕选项中输入类,默认情况下不可见)。

function mark_menu_item_as_active($classes, $item) {

    if( in_array(\'my-custom-class\',$classes) && ( is_category(\'my-category\') /* OR ...*/  ) )   {
        $classes[] = \'current-menu-item\';
    }

    return $classes;
}
add_filter(\'nav_menu_css_class\', \'mark_menu_item_as_active\', 10, 2);
此函数遍历所有菜单项,您将使用该自定义菜单类找到目标项。然后,您将检查您具有的任何条件(is\\U类别,…),并向其类中添加另一个类(current-menu-item, ...).