我正在创建一个自定义WP主题,我正在使用Wordpress导航栏。当在不同页面之间切换时,WP会在导航栏中添加一个“当前菜单项”类,该类对应于当前页面。
但是,如果导航栏中没有该页面/帖子,则不会将“current-menu-item”添加到任何导航栏项目。
我的问题是,当用户访问页面“BLOG”(实际上是一个类别页面)并点击打开single.php模板的某个帖子时,我希望导航栏项“BLOG”加下划线就像访问者访问博客页面一样。
有时我会想要在登陆SINGLE时加下下划线的另一个导航栏项目,具体取决于用户来自哪里(我也有主页帖子,然后我希望HOME加下划线)
我如何做到这一点?感谢。
答案 0 :(得分:6)
您可以使用过滤器并使用条件语句检查您当前使用的页面,并在显示菜单之前添加类:
function add_custom_classes($classes, $item){
if(is_single() && $item->title == 'BLOG'){
$classes[] = 'current-menu-item';
}
return $classes;
}
add_filter('nav_menu_css_class' , 'add_custom_classes' , 10 , 2);