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');