在默认情况下,WordPress 的导航菜单会输出很多如menu-item
、menu-item-type-taxonomy
、menu-item-object-category
等加上 id 组成的CSS 选择器,无疑,对于一些人来说,这些选择器导致整个html 格式变得难看,看着碍眼的东西最好是将它去掉,下面介绍删除(去除)WordPress 导航菜单的多余 CSS 选择器的方法。
如本站 DeveWork.com 的导航菜单的相关CSS 代码如下:
代码如下,还是加入到主题的functions.php 文件中(代码来源网络,作者未知):
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class($classes, $item){
$current_and_home = array("current-menu-item", "menu-item-home", 'last');
$classes = array_intersect($item->classes,$current_and_home);
//保留有需要的 class
return $classes;
}
add_filter('nav_menu_item_id' , 'special_nav_item_id' , 10 , 2);
function special_nav_item_id($item_id, $item){
$item_id = ""; //去除 id
return $item_id;
}
之后,HTML 代码应该清爽不少。
该方法只能去除id 属性,class 属性不能去除。说实话,没必要不建议折腾这个。