# Como corrigir a incompatibilidade de templates entre Crocoblock e Astra Pro

A incompatibilidade de templates entre Crocoblock e Astra Pro acontece quando o JetThemeCore aplica um Body Template na mesma condicao em que o Astra Pro já monta cabeçalho, título e container, e os dois layouts competem. O resultado e cabeçalho duplicado, título repetido ou o template errado vencendo.

## O que é o conflito de templates entre Crocoblock e Astra Pro?

A incompatibilidade de templates entre Crocoblock e Astra Pro e um conflito de layout em que duas camadas tentam controlar a mesma área da página. O JetThemeCore (parte do bundle Crocoblock) registra Theme Templates do tipo Body, Header e Footer com Conditions que dizem onde cada um aparece. O Astra Pro, por sua vez, já entrega cabeçalho, rodape, título de página e container pelo Customizer e pela meta box do tema.

## Como identificar

- A página mostra dois cabeçalhos (o do Astra Pro e o Header Template do JetThemeCore) empilhados no topo.
- O título da página aparece duas vezes: uma vez pelo Astra e outra dentro do Body Template do JetEngine.
- O container do Astra (largura, sidebar e padding) envolve o template do JetThemeCore, gerando duas caixas aninhadas e espacamento errado.
- O Body Template do JetThemeCore não aplica e a página cai no layout padrão do Astra, mesmo com a Condition criada.
- A sidebar do Astra aparece numa página que o template do JetEngine foi feito para ocupar a largura total.
- O rodape duplica quando o Footer Template do JetThemeCore esta ativo junto com o rodape nativo do Astra.

**Antes de começar:** Faca um backup do site e teste as mudancas de Condition e de meta box numa página de staging antes de aplicar em producao. Alterar uma Condition do JetThemeCore com escopo amplo pode mudar o layout de várias páginas de uma so vez, entao anote a configuração original para conseguir reverter.

## Como prevenir

- Defina um dono único por área: ou o Astra Pro controla cabeçalho, título e rodape, ou o JetThemeCore controla, nunca os dois na mesma página.
- Crie Conditions do JetThemeCore sempre especificas (por tipo de conteúdo), evitando Entire Site e Singular -> All.
- Padronize as páginas de template do JetEngine com Astra em largura total e sem sidebar, salvando isso como padrão do tipo de conteúdo.
- Documente quais Theme Templates estão ativos e em quais Conditions, para a equipe não criar templates concorrentes na mesma URL.

Erros relacionados

- [Como corrigir o erro de layout entre Astra Pro e Crocoblock JetEngine](https://full.services/wp-fixer/corrigir-layout-astra-pro-jetengine/)
- [Como corrigir a incompatibilidade entre JetThemeCore e Astra](https://full.services/wp-fixer/corrigir-jetthemecore-incompativel-astra/)
- [Como corrigir Custom Layouts que não aplicam no Astra Pro](https://full.services/wp-fixer/corrigir-custom-layouts-astra-pro/)

## Causa

- Uma Condition do JetThemeCore com escopo amplo (Entire Site ou Singular -> All) cobre páginas que o Astra Pro já monta, fazendo os dois aplicarem o próprio layout na mesma URL.
- A meta box do Astra não foi configurada com Disable Title, Disable Header e Disable Footer na página que usa o Body Template do JetThemeCore, entao o título e o cabeçalho nativos continuam renderizando.
- O Content Layout do Astra esta em Boxed ou Content Boxed em vez de Full Width / Stretched, e o container do tema envolve o template do JetEngine.
- A opção Sidebar do Astra esta como Right Sidebar ou Left Sidebar na página, enquanto o template do JetThemeCore foi desenhado para No Sidebar (largura total).
- Duas Conditions concorrentes do JetThemeCore tem a mesma especificidade, e a ordem de prioridade resolve para o template errado, ignorando o que você esperava aplicar.
- O Header Builder e o Footer Builder do Astra Pro estão ativos ao mesmo tempo que os Header/Footer Templates do JetThemeCore, e ambos imprimem suas proprias áreas no mesmo hook.

## Como resolver

1. Mapeie qual plugin esta renderizando cada área: Abra a página quebrada e use o inspetor do navegador para identificar de quem e cada bloco repetido. As marcacoes do Astra e as do JetThemeCore usam classes diferentes, e isso revela se o cabeçalho ou o título duplicado vem do tema ou do template do JetEngine.

```
Tecla F12 -> aba Elements
.ast-container e .site-header  (blocos do Astra)
.jet-theme-core e .elementor-location-header  (blocos do JetThemeCore)
```

2. Restrinja a Condition do JetThemeCore: No painel do Crocoblock, abra Theme Templates e edite as Conditions do Body, Header e Footer. Troque escopos amplos por condicoes especificas, para que o JetThemeCore so aplique exatamente onde você quer, deixando o resto das páginas para o Astra.

```
Crocoblock -> Theme Templates -> Conditions
Trocar: Entire Site  ->  Singular: Post Type específico
Include / Exclude por tipo de conteúdo
```

3. Desligue as áreas nativas do Astra na página do template: Nas páginas onde o Body Template do JetThemeCore deve mandar, use a meta box do Astra para desligar título, cabeçalho e rodape nativos. Assim sobra apenas o que o template do JetEngine desenha, sem o layout do tema por baixo.

```
Editar página -> caixa Astra Settings -> Disable Sections
Marcar: Disable Title, Disable Header, Disable Footer Widgets
Disable Primary Sidebar
```

4. Ajuste container e sidebar para largura total: Coloque o Content Layout em largura cheia e a Sidebar como nenhuma na página que usa o template do JetEngine. Isso impede que a caixa do Astra envolva o template do JetThemeCore e elimina as caixas aninhadas e o espacamento errado.

```
Astra Settings -> Content Layout -> Full Width / Stretched
Astra Settings -> Sidebar -> No Sidebar
```

5. Escolha um único dono do Header e do Footer: Decida quem controla cabeçalho e rodape e desligue o outro. Se o Header Template do JetThemeCore vai mandar, oculte o Header Builder do Astra nessa condicao. Faca o mesmo com o rodape, para nunca ter as duas áreas imprimindo no mesmo hook.

```
Customizer -> Header Builder do Astra -> ocultar na página do template
OU desativar o Header/Footer Template do JetThemeCore
Limpar cache e recarregar a página
```


## Código

```php
/**
 * Plano B: remover o titulo nativo do Astra so nas paginas que usam
 * um Body Template do JetThemeCore, sem mexer no resto do site.
 * Cole em um plugin de snippets (ex.: Code Snippets), nao no functions.php do tema.
 */
add_action( 'wp', function () {
	// Ajuste a regra alvo: aqui, paginas do post type 'imovel' montadas pelo JetEngine.
	if ( is_singular( 'imovel' ) ) {
		// Desliga o titulo nativo do Astra (o titulo passa a vir do template do JetThemeCore).
		add_filter( 'astra_the_title_enabled', '__return_false' );
		// Forca largura total e sem sidebar nessa condicao.
		add_filter( 'astra_page_layout', function () { return 'no-sidebar'; } );
		add_filter( 'astra_get_content_layout', function () { return 'page-builder'; } );
	}
} );
```

## Perguntas frequentes

### Por que aparecem dois cabeçalhos na página com Crocoblock e Astra Pro

Porque o Header Template do JetThemeCore e o cabeçalho nativo do Astra estão ativos na mesma página. Os dois imprimem a própria área no topo. A correção e escolher um único dono do cabeçalho e desligar o outro na Condition ou na meta box da página.

### Como faco o título da página parar de duplicar

O título duplica quando o Astra renderiza o título nativo e o Body Template do JetEngine também mostra um título. Na meta box do Astra, marque Disable Title na página que usa o template do JetThemeCore. Assim sobra so o título desenhado dentro do template.

### Meu Body Template do JetThemeCore não aplica e a página fica com o layout do Astra

Quase sempre e a Condition. Verifique se a Condition do Body Template realmente cobre aquele tipo de conteúdo e se não ha outra Condition mais específica vencendo. Restrinja o escopo e confirme que o template esta publicado, não em rascunho.

### O container do Astra esta envolvendo o template do JetEngine. Como resolvo

Coloque o Content Layout do Astra em largura cheia e a Sidebar como nenhuma na página do template. O container Boxed e a sidebar do tema criam uma caixa em volta do template do JetThemeCore, gerando as caixas aninhadas e o espacamento errado.

### Preciso desativar o Astra Pro para usar o JetThemeCore

Não. Os dois convivem desde que cada área tenha um dono. Use o Astra para controlar o que o JetThemeCore não desenha e deixe o JetThemeCore mandar apenas nas Conditions especificas que você criou. O problema e sobreposicao, não incompatibilidade total.

### Qual template ganha quando duas Conditions do JetThemeCore cobrem a mesma página

Vence a Condition mais específica. Quando duas tem a mesma especificidade, a ordem de prioridade decide, e o resultado pode não ser o que você espera. Deixe uma única Condition cobrindo cada página para o template certo aplicar sempre.

### O rodape aparece duas vezes. O que esta acontecendo

Ha um Footer Template do JetThemeCore ativo junto com o rodape nativo do Astra. Os dois imprimem no mesmo lugar. Desligue o rodape do Astra na página pela meta box ou remova o Footer Template do JetThemeCore, mantendo apenas um deles ativo.

**Fonte:** [Crocoblock — JetThemeCore: Theme Templates & Conditions](https://crocoblock.com/knowledge-base/jetthemecore/)
