# Como corrigir o widget Post Grid que não exibe posts no Essential Addons

O widget Post Grid do Essential Addons mostra a grade vazia quando a Query do widget aponta para uma fonte sem conteúdo: um Source de termo sem posts publicados, um Custom Post Type não suportado, um filtro de categoria que não casa ou um Offset maior que o total de posts.

## O que é Post Grid do Essential Addons sem exibir posts?

O Post Grid do Essential Addons é um widget de conteúdo dinâmico do Elementor que monta uma grade a partir de uma WP_Query interna. Quem decide o que aparece é a aba Content do widget: o Source (Post, Page ou Custom Post Type), os filtros de termo (categorias e tags em Include ou Exclude), o Posts Per Page e o Offset. A grade fica vazia quando essa consulta retorna zero posts, e não porque o widget está quebrado. Como o editor do Elementor às vezes mostra um placeholder de demonstração, o problema só fica visível ao salvar e abrir a página no frontend, onde a WP_Query roda contra o conteúdo real do site.

## Como identificar

- A grade do Post Grid aparece totalmente vazia no frontend, sem cards de post, enquanto o restante da página do Elementor renderiza normalmente
- O editor do Elementor mostra posts de exemplo (placeholder) dentro do widget, mas no site publicado a área fica em branco
- Ao trocar o Source de 'Post' para um Custom Post Type no painel do widget, a lista some e a grade não atualiza com os itens daquele tipo
- A grade fica vazia só quando há um filtro de categoria ou tag aplicado em Include Term, e volta a mostrar posts ao remover o filtro
- A primeira página mostra menos posts do que deveria ou nada, porque o valor de Offset está maior que o total de posts disponíveis
- No console do navegador não há erro de JavaScript, e o código-fonte da página mostra a estrutura do widget sem nenhum item de post dentro dela

## Como prevenir

- Antes de publicar, abra a página em uma aba anônima e confirme que o Post Grid está renderizando posts reais, e não o placeholder de demonstração do editor
- Ao usar um Custom Post Type como Source, garanta que ele foi registrado como público e que existe ao menos um post publicado daquele tipo antes de montar a grade
- Documente os filtros de Include Term e Exclude Term de cada Post Grid, para que ao reorganizar categorias ninguém esvazie a grade sem perceber
- Mantenha o Offset em zero a menos que exista um motivo claro, e revise o Posts Per Page sempre que o número de posts publicados cair

Erros relacionados

- [Como corrigir o widget Woo Product Grid no Essential Addons](https://full.services/wp-fixer/corrigir-woo-product-grid-essential-addons/)
- [Como corrigir widgets do Essential Addons quebrados pelo cache do WP Rocket](https://full.services/wp-fixer/corrigir-cache-wp-rocket-essential-addons/)
- [Como corrigir o erro de licença no Essential Addons for Elementor](https://full.services/wp-fixer/corrigir-erro-licenca-essential-addons/)

## Causa

- O Source na aba Content do widget está em 'Custom Post Type' apontando para um tipo registrado sem a flag public ou sem posts publicados, e a WP_Query do widget retorna zero itens.
- Um termo foi escolhido em Include Term (categoria ou tag) na Query do widget, mas nenhum post publicado está atribuído a esse termo, então o filtro elimina todos os resultados.
- O campo Offset na seção Query está com um número maior ou igual ao total de posts publicados (por exemplo Offset 10 num site com 8 posts), e a consulta começa depois do último post existente.
- Os posts da fonte escolhida estão com status Rascunho, Privado ou Pendente, e o Post Grid lista apenas posts com status Publicado por padrão.
- Um termo válido foi colocado em Exclude Term abrangendo a única categoria que tinha posts, removendo todo o conteúdo da grade.
- O widget está apontando para o Source 'Related' ou 'Current Query' dentro de um template do Theme Builder, e fora do contexto correto (página de arquivo ou single) essa consulta não tem posts para resolver.

## Como resolver

1. Confirme que a Query está retornando zero posts: Edite a página com o Elementor, selecione o widget Post Grid e abra a aba Content. Verifique no frontend, em uma aba anônima, se a grade está realmente vazia para o visitante. O objetivo deste passo é confirmar que o problema é a consulta do widget, e não cache ou um conflito de tema.

```
Elementor -> editar página -> selecionar o widget Post Grid -> aba Content
```

2. Volte o Source para Post e teste sem filtros: Na seção Query da aba Content, troque o Source de volta para Post e remova qualquer termo de Include Term e Exclude Term. Salve e recarregue o frontend. Se os posts voltarem a aparecer, a causa está na configuração anterior de fonte ou de filtro, e você isola o ajuste a partir daí.

```
aba Content -> Query -> Source -> Post
aba Content -> Query -> Include Term -> (vazio)
aba Content -> Query -> Exclude Term -> (vazio)
```

3. Ajuste Posts Per Page e zere o Offset: Ainda na seção Query, defina um Posts Per Page compatível com o total de posts do site e coloque o Offset em zero. Um Offset alto pula os primeiros posts e pode esvaziar a grade quando o site tem poucos itens publicados.

```
aba Content -> Query -> Posts Per Page -> 6
aba Content -> Query -> Offset -> 0
```

4. Garanta que a fonte tem posts publicados e visíveis: Confira no painel do WordPress se a fonte escolhida tem conteúdo com status Publicado, porque o Post Grid ignora rascunhos e privados. Se a fonte for um Custom Post Type, o tipo precisa estar registrado como público e ter posts publicados para o widget conseguir listar.

```
Posts -> Todos os posts -> filtrar por Publicado
checar o Custom Post Type em Source com posts publicados e public habilitado
```

5. Regenere os assets e limpe o cache: Depois de ajustar a consulta, salve a página, regenere os arquivos do Essential Addons e limpe o cache do site e do plugin de cache. Isso evita que a página antiga, com a grade vazia, continue sendo servida ao visitante depois da correção.

```
Essential Addons -> Settings -> Save Default Settings
Elementor -> Tools -> Regenerate CSS & Data
```


## Código

```php
function full_registrar_cpt_para_post_grid() {
    register_post_type( 'projeto', array(
        'label'        => 'Projetos',
        'public'       => true,
        'show_in_rest' => true,
        'has_archive'  => true,
        'supports'     => array( 'title', 'editor', 'thumbnail' ),
    ) );
}
add_action( 'init', 'full_registrar_cpt_para_post_grid' );
```

## Perguntas frequentes

### Por que o Post Grid mostra posts no editor do Elementor mas fica vazio no site publicado?

O editor do Elementor exibe um placeholder de demonstração quando a consulta do widget não casa com o conteúdo real. No frontend a WP_Query roda contra os posts do site e, se o Source, o filtro de termo ou o Offset não retornam nada, a grade aparece vazia. Por isso a diferença entre o editor e a página publicada.

### Configurei um Custom Post Type no Source e o Post Grid não exibe nada, o que fazer?

Verifique se o Custom Post Type foi registrado como público e se tem posts com status Publicado. Tipos registrados sem a flag public ou sem conteúdo publicado fazem a WP_Query do widget retornar zero itens. Garanta também que o tipo realmente aparece na lista de Source do widget.

### A grade fica vazia só quando aplico um filtro de categoria, por quê?

Quando você escolhe um termo em Include Term, o Post Grid lista apenas posts atribuídos àquela categoria ou tag. Se nenhum post publicado está nesse termo, o filtro elimina todos os resultados. Confira no painel se a categoria selecionada tem posts publicados ou remova o filtro para confirmar.

### O que o campo Offset faz e como ele esvazia o Post Grid?

O Offset diz ao widget quantos posts pular antes de começar a montar a grade. Se o Offset for igual ou maior que o total de posts publicados, a consulta começa depois do último post e nada é exibido. Coloque o Offset em zero para listar a partir do primeiro post.

### O Post Grid lista rascunhos e posts privados?

Não. Por padrão o widget exibe apenas posts com status Publicado. Conteúdo em Rascunho, Pendente ou Privado é ignorado pela consulta. Publique os posts ou ajuste o fluxo de revisão para que a grade volte a mostrar o conteúdo esperado.

### Usei o Source Current Query dentro de um template e a grade não tem posts, qual o motivo?

O Source Current Query e o Related dependem do contexto de uma página de arquivo ou de um single dentro do Theme Builder. Fora desse contexto, a consulta não tem posts para resolver e a grade fica vazia. Use esses tipos de Source apenas em templates de arquivo ou de post.

### Preciso limpar o cache depois de corrigir a Query do Post Grid?

Sim. Depois de ajustar a consulta, regenere os assets do Essential Addons e limpe o cache do site e do plugin de cache. Sem isso, a versão antiga da página, com a grade vazia, continua sendo entregue ao visitante mesmo com a configuração já corrigida.

### O problema do Post Grid vazio também acontece na versão Pro do Essential Addons?

Sim. Os recursos de Query avançada da versão Pro usam a mesma lógica de Source, filtro de termo e Offset. Se a consulta não casa com o conteúdo publicado, a grade fica vazia tanto na versão gratuita quanto na Pro. A correção é a mesma: revisar a fonte, os filtros e o Offset.

**Fonte:** [Essential Addons for Elementor — Documentation](https://essential-addons.com/docs/)
