I’m new to wordpress and trying to learn my way through from making a theme.
Right now I am using wp_nav_menu to generate my menu
My menu consists of pages and categories
However, the default generation of the menu looks like
<div id="navi">
<div class="menu-primary-container">
<ul id="menu-primary" class="menu">
<li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"></li>
<li id="menu-item-16" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-16"></li>
<li id="menu-item-20" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-20"></li>
<li id="menu-item-15" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-15"></li>
<li id="menu-item-17" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-17"></li>
</ul>
</div>
</div>
I want to remove all the class and id from li and ul. I have been googling for awhile now. Tried different methods and no luck. Any help would be much appreciated. I’m currently using WordPress 3.1
Thank you in advance!
If you look in the
wp_nav_menu()
function, you see the items are written bywalk_nav_menu_tree()
, which callsWalker_Nav_Menu
to do the work (unless you specified your own walker class). This class contains a methodstart_el()
that is called for each menu item. In this function, you see that the classes are filtered throughnav_menu_css_class
and the id is filtered throughnav_menu_item_id
. So if you attach your own code to these hooks, you can change them to anything you want.Submenus are always wrapped with
<ul class="sub-menu">
, the main wrapper can be changed via themenu_id
andmenu_class
arguments.You can change the id and class of each item with the
nav_menu_item_id
andnav_menu_css_class
filter hooks like so:This will result in items saying
<li id="" class="">
. The same mechanism can be used to set IDs to something useful, such as the page slug.This solution was posted on wp3layout .You should add this to your theme’s function.php
Hope this helps.