如何在wordpress自带的目录导航中添加active跟随

2021-06-10
386次阅读
一条评论

现在很多网站都采用了active跟随导航栏,能提升用户对于网站内容的熟悉,也能让用户熟悉自己现在在哪个分类下面。

所以,我这边在新模板上也打算实现这个功能。

原本打算使用js来实现的,可是找了不少的js代码都是有问题的,所以我就找了wordpress添加active的方式。

这次找的内容是有用的,但还是有一点小毛病,我这里用了复杂的代码给处理掉了。现在能失效我所希望的那样了。

上效果图:

如何在wordpress自带的目录导航中添加active跟随

源代码是子类归子类,父类归父类,我在这个添加了一下判断,如果这个父类下面有子类,那么点击子类的时候,active跟随父类而不是跟随子类。

上代码:

add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2); 
function special_nav_class($classes, $item){ 
    //这里我添加了一个判断,有子分类则把active添加到父级上
    if(!empty(in_array('menu-item-has-children',$classes))){
        if(in_array('current_page_parent', $classes)){ 
            $classes[] = 'active '; 
           } 
    }else{
        if(in_array('current-menu-item', $classes)){ 
            $classes[] = 'active '; 
           } 
    }
return $classes; 
}

怎么使用:

先在你的主题目录functions.php 这个文件里面粘贴上面的代码,之后打开首页刷新一下看看有没有效果,如果没有效果你就改一下导航栏的名字,还没有效果就检查一下你的主题css里面有没有定义active的样式,如果没有,则定义一个就行了。

正文结束
居烽
版权声明:本站原创文章,由 居烽 于2021-06-10发表,共计727字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(一条评论)
验证码

NIce。学习了。。。。

 Windows  Firefox  中国广东省深圳市电信