WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was having an issue where my menu was being created using:

wp_nav_menu(array('theme_location' => 'main_menu', 'menu_class' => 'sf-menu''))

The resulting HTML was like this:

<div class='sf-menu'><ul><li...></ul></div>

As you can see, the $menu_class argument was being applied to the div instead of the ul. And the ul doesn't even have an id attribute despite using the default items_wrap.

share|improve this question

The reason this was happening was simple - I had just installed the theme and had not yet associated a menu with the 'main_menu' theme location. Once I had the menu assigned, the markup generated acted as expected.

To assign a menu, go to Appearance > Menus then select the Manage Locations tab. On there you can choose which menu goes with the theme location. Save your changes and the markup should then be correct.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.