menus - menu_class showing up on DIV instead of UL

admin2025-06-03  2

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.

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 asked Aug 6, 2014 at 18:23 DavGarciaDavGarcia 1114 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 1

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.

You can try this one.

<?php wp_nav_menu(array(
    'theme_location' => 'main_menu', 
    'container' => 'ul',
    'container_class'   =>  'sf-menu'
));?>
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1748890470a314575.html

最新回复(0)