I have a WP 3.3.0 site running in production. (version.php says $wp_version = '3.3';
)
I have a main menu using WP’s built-in functionality. I use
wp_nav_menu(array( 'container_class' => 'menu-header', 'theme_location' => 'primary'));
I made a copy of that site, installed it in a different location, and ran an update to 3.3.1.
This broke the blog’s navigation: The CSS styles were no longer applied. I quickly found out why. What previously looked like so:
<div class="menu-header">
<ul id="menu-mainmenu" class="menu">
....
<ul class="sub-menu">
....
</ul>
</ul>
</div>
Now looks like so:
<div class="menu">
<ul>
....
<ul class="children">
....
</ul>
</ul>
</div>
Now I totally agree this is a change that improves semantics and all, but do I really have to expect breaking changes from a “stability and maintenance update” – especially changes that aren’t even mentioned in the announcement? That would mean a frontend expert would have to be standing by to put out fires every time a minor update comes out, and that would really stink.
The markup above looks like a menu was not actually assigned to the area and is using the
wp_list_pages()
fallback instead. Point release changes (e.g. 3.3 to 3.3.1) are always going to be for major bugfixes and/or security, never for changes in functionality.I actually had a problem with this and it turns out the default structure and naming convention was changed.. there is now an extra div between the main nav’s UL and the container.. there sub nav class has also been changed from .children to .sub-menu… as a result if you have fairly strict css rules for your nav system… then you’ll need to re-write them.