在主题开发中我们时常会用到 wp_nav_menu 函数,wp_nav_menu 函数非常强大,但是使用 wp_nav_menu 生成的菜单中会带有很多系统生成 class 和 id,大家都知道拥有一个简洁的代码结构是非常有利于 SEO 的。那么怎么样来去除 wp_nav_menu 函数所生成的 class 和 id 呢?其实只要在 functions.php 加一段代码即可实现。

<?php
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1);
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
function my_css_attributes_filter($var) {
return is_array($var) ? array_intersect($var, array('current-menu-item')) : '';
}
?>

添加代码后再刷新下页面是不是惊喜的发现那些烦人的 class 和 id 都不见了呢?