删除菜单项和页面列表的li class&id

Cam*_*Cam 19 wordpress wordpress-theming

WordPress默认CSS类输出的示例:

<li id="menu-item-55" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-55">

<li class="page_item page-item-37">
Run Code Online (Sandbox Code Playgroud)

菜单和页面列表项目有各种各样的li classid.

如何functions.php在菜单和页面列表的文件中删除它们?

Ric*_*d M 42

您应该能够通过挂钩到几个过滤器并返回空数组或字符串而不是新类或ID来删除它们:

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() : '';
}
Run Code Online (Sandbox Code Playgroud)

如果你想保留特定的课程,你可以这样做:

function my_css_attributes_filter($var) {
  return is_array($var) ? array_intersect($var, array('current-menu-item')) : '';
}
Run Code Online (Sandbox Code Playgroud)