Eu tenho um site WP 3.3.0 em execução na produção. (version.php diz $wp_version = '3.3';
)
Eu tenho um menu principal usando a funcionalidade interna do WP. eu uso
wp_nav_menu(array( 'container_class' => 'menu-header', 'theme_location' => 'primary'));
Fiz uma cópia desse site, instalei-o em um local diferente e executei uma atualização para o 3.3.1.
Isso quebrou a navegação do blog: os estilos CSS não eram mais aplicados. Eu rapidamente descobri o porquê. O que anteriormente parecia assim:
<div class="menu-header">
<ul id="menu-mainmenu" class="menu">
....
<ul class="sub-menu">
....
</ul>
</ul>
</div>
Agora parece assim:
<div class="menu">
<ul>
....
<ul class="children">
....
</ul>
</ul>
</div>
Agora eu concordo totalmente que esta é uma mudança que melhora a semântica e tudo, mas eu realmente tenho que esperar quebrar as mudanças de uma "atualização de estabilidade e manutenção" - especialmente mudanças que nem sequer são mencionadas em o anúncio? Isso significaria que um especialista em frontend teria que estar de prontidão para apagar incêndios toda vez que uma pequena atualização fosse lançada, e isso seria realmente fedor.
Edit: Acabei de verificar o
nav-menu-template.php
na atualização (falha) da instalação e ele não contém referências a sub-menus obtendo uma classechild
. Além disso, o diff para o arquivo mostra que nenhuma alteração foi feita. Estou completamente confuso de onde isso vem, vou investigar mais.
A marcação acima parece que um menu não foi realmente atribuído à área e está usando o fallback wp_list_pages()
em vez disso. Alterações de liberação de ponto (por exemplo, 3.3 a 3.3.1) sempre serão para grandes correções de bugs e/ou segurança, nunca para alterações na funcionalidade.
Eu realmente tive um problema com isso e acontece que a estrutura padrão e a convenção de nomenclatura foram alteradas .. agora há uma div adicional entre o UL do nav principal e o container .. lá a classe sub-nav também foi alterada de .children para. sub-menu ... como resultado, se você tiver regras de CSS bastante restritas para o seu sistema de navegação ... então você precisará reescrevê-las.