WordPress建站过程中,我们通常使用 wp_nav_menu() 函数来输出菜单,但是默认的输出中有很多多余的 CSS选择器id或class,效果如下:

下面介绍一下去掉WordPress菜单中多余的CSS选择器id或class的方法,将下面的代码添加到主题的 functions.php 文件中:

添加之后,输出的效果如下:

看起来有点太精简了吧?!现在问题来了,如果我想要定义当前菜单的某些样式,比如高亮显示当前菜单?那该怎么办啊?

解决办法是我们需要保留一些CSS选择器。

常用的当前菜单的选择器有以下4个:

  • current-post-ancestor
  • current-menu-ancestor
  • current-menu-item
  • current-menu-parent

我们只要不过滤它们即可,可以参考下面的代码:

如果你想保留更多CSS类,可以修改以下代码的第6行的数组内容。

修改过后,当你访问网站首页时,输出的菜单结构如下:

这样一来,我们就可以位当前菜单样式定义特殊的样式了。

大功告成,上一篇文章中,我们已经讲解了如何 禁止WordPress菜单输出 div 和 ul 标签