Como corrigir o erro de estilo do JetMenu com o tema Astra Pro no WordPress
O que é erro de estilo do JetMenu com Astra Pro?
O erro de estilo do JetMenu com o Astra Pro e a situacao em que o menu construido no JetMenu (incluindo mega menus) aparece no site sem o visual definido no editor: cores, espacamentos, fontes e o layout do submenu somem ou ficam diferentes do que foi configurado. O JetMenu, da Crocoblock, gera o estilo do menu a partir das opções visuais salvas e injeta esse CSS no frontend; o Astra, por sua vez, já traz o próprio estilo de navegação do header. Quando os dois disputam os mesmos seletores de menu, o resultado e um menu quebrado ou desconfigurado.
Na prática, a quebra surge de três frentes: especificidade de CSS (o Astra aplica regras ao header e ao menu primario que vencem as do JetMenu), cache (um plugin de cache ou o Cloudflare serve uma versão antiga do CSS depois de uma alteração) e a fonte do menu (o menu primario nativo do Astra continua ativo no lugar do widget do JetMenu). Identificar qual das três esta agindo e o que define a correção.
Como identificar
- O menu aparece como uma lista simples, sem cores de fundo, espacamento ou hover configurados no JetMenu.
- O mega menu abre, mas os sub-itens ficam empilhados sem o grid, as colunas ou os icones definidos no editor do JetMenu.
- As alterações salvas no painel de estilo do JetMenu não refletem no frontend mesmo após recarregar a página.
- O menu fica com a aparencia padrão do Astra (fonte e cor do tema) em vez do estilo do JetMenu.
- No inspetor do navegador, a regra de cor ou espacamento do JetMenu aparece riscada (sobrescrita) por uma regra com seletor do Astra (ast-header, main-header-menu).
Como prevenir
- Use sempre um tema filho do Astra para adicionar CSS e snippets, evitando perder os ajustes do menu a cada atualização do tema.
- Defina uma única fonte de menu para o header: ou o menu nativo do Astra, ou o JetMenu, nunca os dois disputando a mesma localizacao.
- Limpe o cache do plugin e do Cloudflare como último passo de toda alteração de estilo do JetMenu, para não depurar com folha de estilo antiga.
- Mantenha JetMenu, Elementor e Astra Pro atualizados juntos em staging antes de subir para producao, já que mudancas na marcacao do header afetam os seletores do menu.
- Documente os seletores de CSS adicional usados para vencer o Astra, para reaplica-los rapidamente se um update do tema mudar a especificidade.
Causa
- O menu primario nativo do tema Astra continua atribuido a localizacao do header, em vez do widget ou bloco do JetMenu, entao o site renderiza o menu do Astra e ignora o estilo do JetMenu.
- Regras de CSS do Astra para o header (seletores como .main-header-menu e .ast-header) tem maior especificidade e vencem as regras do JetMenu, sobrescrevendo cores, fonte e espacamento do menu.
- Um plugin de cache (WP Rocket, LiteSpeed) ou o Cloudflare esta servindo uma folha de estilo antiga do JetMenu, de antes da última alteração de estilo, deixando o menu com o visual desatualizado.
- A opção de otimização que combina e minifica CSS (no plugin de cache) agregou o CSS dinâmico do JetMenu fora de ordem ou o excluiu da fila, fazendo o estilo do menu não carregar no frontend.
- O JetMenu esta desatualizado em relacao ao Astra Pro e ao Elementor, e uma mudanca de marcacao do header do Astra deixou de casar com os seletores que o JetMenu usa para estilizar o menu.
Como resolver
- Confirme a fonte do menu e desative o menu do Astra: Garanta que a localizacao do header esta usando o JetMenu, e não o menu primario nativo do Astra. No Astra Pro, o JetMenu costuma entrar pelo widget JetMenu dentro do Header Builder ou substituindo o item de menu padrão. Se o menu primario do Astra ainda estiver atribuido, o site renderiza ele e descarta o estilo do JetMenu.
Painel WP -> Aparencia -> Personalizar -> Header Builder (ou Cabeçalho) Remova o elemento de menu primario do Astra e adicione o widget/elemento do JetMenu na área do header Painel WP -> JetPlugins -> JetMenu -> confirme que o menu correto esta selecionado para a localizacao - Limpe todos os caches: Depois de mudar o estilo no JetMenu, limpe o cache do plugin de cache, o cache de objeto e o cache do Cloudflare. O sintoma classico de estilo desatualizado e cache servindo a folha de estilo antiga do menu.
Painel WP -> (WP Rocket / LiteSpeed Cache) -> Limpar cache Cloudflare -> Caching -> Configuration -> Purge Everything No navegador, recarregue com cache desligado (Ctrl+F5) - Exclua o CSS do JetMenu da combinacao e minificacao: Se o plugin de cache combina e minifica CSS, o estilo dinâmico do JetMenu pode estar saindo fora de ordem ou sendo descartado. Desligue a otimização de CSS temporariamente e teste; se resolver, adicione os arquivos do JetMenu a lista de exclusão da minificacao.
Painel WP -> WP Rocket -> Otimização de Arquivos -> desmarque 'Combinar arquivos CSS' e teste Em 'Excluir arquivos CSS', adicione o caminho que contem jet-menu Salve e limpe o cache novamente - Identifique a regra do Astra que sobrescreve no inspetor: Com o cache descartado, abra o site e inspecione o item de menu quebrado. Procure a propriedade riscada (color, background, padding) e veja o seletor que esta vencendo. Se for um seletor do Astra (.main-header-menu, .ast-header), e conflito de especificidade e você precisa de uma regra de CSS mais específica para o JetMenu.
Abra o site, clique com o botão direito no item de menu -> Inspecionar (F12) Na aba Styles, localize a propriedade riscada e o seletor que a sobrescreve Anote o seletor do Astra que esta vencendo para usar no CSS adicional - Adicione um CSS adicional com maior especificidade: No CSS Adicional do Personalizar, escreva uma regra mais específica para os itens do JetMenu, ancorando no container do JetMenu para vencer o seletor do Astra. Evite !important indiscriminado; aumente a especificidade pelo encadeamento de seletores.
Painel WP -> Aparencia -> Personalizar -> CSS Adicional Cole a regra do bloco de código abaixo, ajustando cor e espacamento ao seu projeto Publique e limpe o cache
/* CSS adicional: vence o header do Astra pela especificidade do container do JetMenu */
.jet-menu-container .jet-menu .jet-menu-item > .jet-menu-item__link {
color: #1a1a1a;
padding: 14px 20px;
background-color: transparent;
}
.jet-menu-container .jet-menu .jet-menu-item > .jet-menu-item__link:hover {
color: #ffffff;
background-color: #2563eb;
}
/* Restaura o grid do mega menu se um seletor do Astra zerar o layout */
.jet-menu-container .jet-sub-mega-menu .jet-mega-menu-block-container {
display: flex;
flex-wrap: wrap;
}














