Some of you may want to remove wp_nav_menu remove classes from li
Just like this:
If you don’t know how to remove the class and id, here is the solution.
I used the ideas on stackoverflow here, but it didn’t work for me, I use the following code, and it solved the problem!
Copy and paste the following code in your functions.php file (you can find under the theme’s folder.)
function current_to_active($text){
$replace = array(
//List of menu item classes that should be changed to "active"
'current-menu-item' => 'active',
'current_page_parent' => 'active',
'current_page_ancestor' => 'active',
);
$text = str_replace(array_keys($replace), $replace, $text);
return $text;
}
add_filter('nav_menu_css_class', 'current_to_active');
add_filter('nav_menu_item_id', 'current_to_active');
add_filter('page_css_class', 'current_to_active');
//Deletes empty classes and removes the sub menu class
function strip_empty_classes($menu) {
$menu = preg_replace('/ class=""| class="sub-menu"/','',$menu);
return $menu;
}
add_filter ('wp_nav_menu','strip_empty_classes');