Como corrigir o Listing Grid vazio no JetEngine
O que é Listing Grid vazio JetEngine?
O Listing Grid vazio JetEngine acontece quando o widget Listing Grid renderiza o Listing template, mas a query por tras dele devolve zero itens, deixando a área em branco no editor e no frontend. O Listing Grid não inventa dados: ele exibe exatamente o que a fonte de query retorna. Quando o Post Type escolhido não tem posts publicados, ou quando uma clausula de Meta Query, Tax Query, Date Query ou Offset filtra todos os registros, o grid fica vazio mesmo com o template montado corretamente. O mesmo vale para Custom Query do Query Builder cujo módulo (Custom Content Type, REST API, Data Store) não esta ativado no JetEngine Dashboard.
Como identificar
- Área do Listing Grid aparece totalmente em branco no frontend, sem cards e sem mensagem de erro
- No editor Elementor ou Gutenberg o widget mostra ‘No data was found’ ou simplesmente nenhum item de exemplo
- O Listing template abre normalmente sozinho, mas zera ao ser inserido no Listing Grid da página
- Os itens existem em JetEngine -> Query Builder ao testar a query, mas não chegam ao grid publicado
- O grid funciona logado como admin e fica vazio para visitante deslogado
Como prevenir
- Sempre criar e testar a query em JetEngine -> Query Builder antes de inserir o Listing template no grid, conferindo a contagem de itens retornados
- Documentar o Type esperado de cada meta field para nunca comparar número como Char nem data como texto na Meta Query
- Manter o Cache Query ligado em producao por performance, mas desliga-lo durante a depuração e religar so depois de validar os dados
- Padronizar Post Status em Publish nas queries de frontend e revisar a paginação (Offset e Posts Per Page) ao reaproveitar uma query em outra página
Causa
- O campo Post Status da query não inclui o status real dos itens: a query pede 'Publish' mas os posts estão em Draft, Pending ou Private, entao nenhum entra na lista.
- Uma clausula de Meta Query usa o Type errado (Char em campo numerico, ou Date em campo de texto) ou o operador Equal com um Value que nenhum registro possui, descartando todos os itens.
- A Tax Query aponta para o Field errado (Term ID quando o valor informado e o Slug) ou para um termo inexistente na taxonomia, resultando em zero correspondencias.
- O valor de Offset em Pagination e maior que o total de itens, ou Posts Per Page esta em 0, fazendo a query pular todos os resultados.
- A Custom Query selecionada e de um Query Type cujo módulo não esta ativado em JetEngine -> JetEngine -> Modules (Custom Content Type, REST API Listings ou Data Stores), entao a fonte retorna vazia.
- O switcher Cache Query, ligado por padrão, serve um resultado em cache desatualizado depois que os posts ou meta campos mudaram, exibindo o estado antigo (vazio).
Como resolver
- Confirme o Post Type e o Post Status da query: Abra a query usada pelo Listing template e garanta que o Post Type tem itens publicados e que o Post Status cobre os estados reais dos registros. Esse e o motivo número um de grid vazio quando os posts estão em rascunho.
WordPress Dashboard -> JetEngine -> Query Builder -> (sua query) -> aba General Post Type: selecione o mesmo post type do Listing template Post Status: marque Publish (e Private/Draft apenas se for intencional exibi-los) - Revise as clausulas de Meta Query e Tax Query: Filtros de meta e taxonomia são a causa mais comum de zero itens. Verifique o operador, o Type do dado e se o termo realmente existe. Um Type incorreto faz a comparacao falhar silenciosamente.
aba Meta Query -> confira Field key/name, Compare e Type (Numeric para número, Date para data) aba Tax Query -> confira Taxonomy, Field (Term ID / Slug / Name) e Terms Remova temporariamente cada clausula para isolar qual delas zera o resultado - Cheque Pagination, Offset e o módulo da Custom Query: Um Offset alto pula todos os itens e um módulo desativado faz a fonte retornar vazia. Ajuste a paginação e ative o módulo correspondente ao Query Type.
aba Pagination -> Offset: 0 | Posts Per Page: 9 (ou -1 para todos) WordPress Dashboard -> JetEngine -> JetEngine -> aba Modules Ative o módulo do tipo usado: Custom Content Type, REST API Listings ou Data Stores - Desligue o Cache Query e revalide: A doc do Crocoblock recomenda desativar o Cache Query quando ha resultados incorretos. Desligue, salve e recarregue a página sem cache do navegador para confirmar se o grid volta a popular.
aba General da query -> desative o switcher Cache Query Salve a query e limpe o cache de plugins (WP Rocket / LiteSpeed) se houver Recarregue a página do Listing Grid em aba anonima para validar
// Diagnostico rapido: rode a mesma query do Listing Grid via WP_Query e veja a contagem real.
// Cole em um snippet (Code Snippets / functions.php) e acesse ?jetdiag=1 como admin.
add_action( 'init', function () {
if ( ! isset( $_GET['jetdiag'] ) || ! current_user_can( 'manage_options' ) ) {
return;
}
$args = array(
'post_type' => 'projeto', // troque pelo Post Type do seu Listing
'post_status' => 'publish',
'posts_per_page' => 9,
'offset' => 0,
'meta_query' => array(
array(
'key' => 'ativo',
'value' => '1',
'compare' => '=',
'type' => 'NUMERIC',
),
),
);
$q = new WP_Query( $args );
error_log( 'JetEngine listing diag -> itens encontrados: ' . $q->found_posts );
wp_die( 'Itens encontrados: ' . intval( $q->found_posts ) );
} );














