Como corrigir o Theme Builder do Elementor que não aplica em todas as páginas
O que é o Elementor Theme Builder que não aplica em todas as páginas?
O Theme Builder do Elementor Pro pública templates de Header, Footer, Single, Archive e outros e os exibe no frontend conforme as Display Conditions (condicoes de exibicao) de cada um. Cada template so aparece nas URLs que casam com a sua condicao de Include, descontadas as de Exclude. Quando um template parece não aplicar em todas as páginas, quase sempre o problema esta nessa camada de condicoes, e não no design: a condicao cobre menos URLs do que você imagina, o template continua em rascunho, ou existe outro template do mesmo tipo com condicao mais específica que vence a disputa para aquele conjunto de páginas.
Como identificar
- O template aparece so na home e some no resto do site: o Header ou Footer do Theme Builder funciona em algumas páginas e nas demais o WordPress volta a usar o layout do tema.
- Você pública e ve a mensagem ‘Your Header was successfully published’, mas no frontend de várias páginas o template simplesmente não aparece.
- O Single Post template controla alguns posts e ignora outros, normalmente os de uma categoria específica que tem outro template atribuido.
- Ao abrir o template em Elementor -> Templates -> Theme Builder, o cartao mostra ‘No conditions’ ou ‘Draft’ em vez de uma condicao ativa.
- Duas versões do mesmo cabeçalho disputam o site: uma cobre Entire Site e outra cobre uma página específica, e a área afetada exibe o template errado.
Como prevenir
- Atribua a condicao de exibicao no mesmo momento em que pública o template, nunca deixe um template publicado com No conditions
- Mantenha um único template por tipo cobrindo Entire Site e use os demais apenas com condicoes especificas e intencionais
- Documente quais condicoes cada template usa, para não criar dois templates do mesmo tipo disputando as mesmas URLs por especificidade
- Depois de qualquer mudanca em condicoes, regenere os arquivos do Elementor e limpe o cache antes de validar o resultado no frontend
Causa
- Template salvo como Rascunho no Theme Builder, sem nunca ter passado pelo botão Publish, entao ele não renderiza em nenhuma página do frontend.
- Template publicado sem nenhuma condicao de exibicao em Display Conditions, ficando com No conditions e por isso nunca substituindo o layout do tema.
- Condicao de Include restrita a um escopo menor que o pretendido, por exemplo Singular -> Pages em vez de Entire Site, deixando posts e arquivos de fora.
- Outro template do mesmo tipo com condicao mais específica vence pela regra de especificidade do Elementor: uma condicao Singular -> Post -> categoria X supera uma condicao Entire Site para os posts daquela categoria.
- Condicao de Exclude removendo justamente o grupo de URLs onde o template deveria aparecer, por exemplo Exclude em Archive ou em um Page Template específico.
- Arquivos de CSS e dados desatualizados em cache do Elementor depois de mudar a condicao, fazendo o frontend servir o estado antigo até regenerar os arquivos.
Como resolver
- Confirme que o template esta publicado, não em rascunho: abra a lista do Theme Builder e verifique o status do template afetado. Um template em rascunho nunca aparece no frontend, mesmo com condicoes corretas. Edite e clique em Publish para liberar a renderizacao.
Elementor -> Templates -> Theme Builder Localizar o template -> conferir se o status e Published e não Draft Abrir o template -> botão Publish - Revise as condicoes de exibicao do template: abra as Display Conditions e confira o escopo do Include. Para valer no site inteiro use Entire Site. Para um grupo, use o nível certo (Singular, Archive ou um tipo de post). Remova condicoes de Exclude que estejam tirando as páginas onde o template deveria aparecer.
Elementor -> Templates -> Theme Builder -> abrir o template Painel Display Conditions Include -> Entire Site (para todo o site) Conferir e remover qualquer linha Exclude indevida - Procure outro template do mesmo tipo com prioridade: quando o template aplica em parte do site e some no resto, costuma existir um segundo template do mesmo tipo cobrindo aquela área com condicao mais específica. O Elementor da prioridade a condicao mais específica e, em caso de empate, ao template mais recente. Ajuste ou despublique o concorrente.
Elementor -> Templates -> Theme Builder -> filtrar pelo mesmo tipo (Header, Footer, Single, Archive) Conferir a condicao de cada template do tipo No template concorrente -> ajustar a condicao ou definir como Rascunho - Regenere os arquivos e limpe o cache: depois de acertar as condicoes, regenere os arquivos do Elementor para o frontend parar de servir o estado antigo. Se houver plugin de cache de página ou CDN, limpe também antes de testar em uma aba anonima.
Elementor -> Ferramentas -> Geral -> Regenerar Arquivos e Dados Limpar o cache do plugin de cache de página e da CDN Abrir as páginas afetadas em aba anonima e validar o template
<?php
/**
* Lista no log de debug todos os templates do Theme Builder e a condicao de exibicao
* de cada um, para auditar por que um template nao aplica em todas as paginas.
* Cole no functions.php do tema-filho ou em um plugin de snippets e abra qualquer
* pagina do admin uma vez. Veja o resultado em wp-content/debug.log (WP_DEBUG_LOG on).
* Remova depois de auditar.
*/
add_action( 'admin_init', function () {
if ( ! class_exists( 'ElementorProModulesThemeBuilderModule' ) ) {
return;
}
$conditions_manager = ElementorProModulesThemeBuilderModule::instance()->get_conditions_manager();
$location_manager = ElementorProModulesThemeBuilderModule::instance()->get_locations_manager();
foreach ( $location_manager->get_locations() as $location => $settings ) {
$documents = $conditions_manager->get_documents_for_location( $location );
foreach ( $documents as $document_id => $document ) {
$conditions = $conditions_manager->get_document_conditions( $document );
error_log( sprintf(
'[ThemeBuilder] local=%s template_id=%d status=%s condicoes=%s',
$location,
$document_id,
get_post_status( $document_id ),
wp_json_encode( $conditions )
) );
}
}
} );














