Neste artigo
Um site dinâmico é aquele em que o conteúdo nasce de um banco estruturado, não de páginas escritas à mão uma a uma. Com JetEngine e Elementor para sites dinâmicos, você define um tipo de conteúdo no JetEngine (um Custom Post Type, campos próprios e taxonomias) e depois usa o Elementor PRO para exibir esses dados em listas e páginas individuais. O JetEngine cuida do backend dinâmico; o Elementor cuida da montagem visual. Este tutorial mostra a ordem de montagem que evita retrabalho, dos Custom Post Types até o Query Builder, com os caminhos de menu reais e os pontos onde o suporte da FULL mais vê gente travar. Veja também o hub de conteúdos de Elementor da FULL para aprofundar cada peça.
Visão geral: As 5 peças de um site dinâmico
Um site dinâmico no WordPress se sustenta sobre 5 peças que se encaixam em sequência, e pular a ordem é a causa número um de retrabalho nos tickets da FULL. O JetEngine, da Crocoblock, entrega quatro delas e o Elementor PRO entrega a quinta.
As quatro peças do JetEngine são Custom Post Type, campos, Listing Grid e Query Builder; a quinta, do Elementor PRO, são as Dynamic Tags. A regra prática que economiza horas: defina o modelo de dados antes de abrir o editor visual, porque o Elementor só exibe um campo que já exista no backend. Montar na ordem errada quase sempre obriga a refazer o template inteiro, e por isso o tutorial segue de baixo para cima.
Legenda: o menu JetEngine concentra Post Types, Meta Boxes e Listings, as peças de backend que o Elementor depois consome.
| Peça | Plugin responsável | O que entrega no site dinâmico |
|---|---|---|
| Custom Post Type | JetEngine | O tipo de conteúdo (imóveis, vagas, médicos) com URL e arquivo próprios. |
| Campos / Meta Box | JetEngine | Os dados de cada item (preço, área, telefone) salvos como meta. |
| Listing Item | JetEngine | O molde visual de um item, repetido para todos os registros. |
| Query Builder | JetEngine | A consulta que filtra e ordena quais itens aparecem. |
| Dynamic Tags | Elementor PRO | A ponte que injeta o valor de cada campo dentro do widget. |
Passo a passo: Do CPT ao listing grid dinâmico
Montar o site na ordem correta leva cerca de 30 a 40 minutos no primeiro tipo de conteúdo e elimina a maior parte do retrabalho que o suporte da FULL costuma ver. Os 5 passos a seguir são H3 de um único fluxo: cada passo só funciona se o anterior estiver salvo, então não pule etapas nem abra o editor visual antes de ter o modelo de dados pronto.
Passo 1: Crie o custom post type no JetEngine
O Custom Post Type é o tipo de conteúdo que vai virar a base do site, e no JetEngine ele nasce em JetEngine > Post Types > Add New. Você define o nome do slug (em minúsculas, sem acento, como imovel), os rótulos no singular e plural, e marca quais suportes o tipo terá (título, editor, imagem destacada). O JetEngine registra o post type sem código, gerando arquivo e URLs próprias. Um Custom Post Type bem nomeado aqui evita renomear slug depois, o que quebraria links e a indexação.
Passo 2: Adicione os campos com meta box
Os campos guardam os dados específicos de cada item e ficam em JetEngine > Meta Boxes > Add New, com a Meta Box atrelada ao seu Custom Post Type. Você escolhe o tipo de cada campo (texto, número, data, mídia, galeria, repeater) e o nome técnico (meta_key) que o Elementor vai consumir depois. Detalhe que evita um erro clássico: se dois tipos de conteúdo precisam aparecer juntos num mesmo Listing Grid, os campos têm de ter o mesmo nome técnico nos dois, segundo a documentação da Crocoblock KB. Sem isso, o grid mostra células vazias para parte dos itens.
Passo 3: Desenhe o listing item
O Listing Item é o molde visual de um único registro, criado em JetEngine > Listings > Add New, e é ele que o Listing Grid repete para todos os itens da consulta. Você escolhe a origem (Posts e o seu Custom Post Type) e o construtor (Elementor), e então monta um card com os widgets Dynamic Field do JetEngine ou os widgets nativos do Elementor PRO. O Listing Item desenhado uma vez serve para mil registros, então invista nele: alinhe imagem, título e os dois ou três campos que importam para a decisão de quem navega.
Passo 4: Configure a consulta no query builder
A consulta define quais itens aparecem e em que ordem, e o Query Builder permite isso sem escrever SQL. Em JetEngine > Query Builder > Add New, você cria uma query do tipo Posts, filtra por taxonomia, meta field ou status, e define ordenação e paginação. No Listing Grid, o toggle Use custom query ativa o dropdown Custom Query para selecionar a consulta criada, conforme a Crocoblock KB. Em bases grandes, uma query bem filtrada é a diferença entre uma página leve e uma travada.
Passo 5: Exiba os dados com dynamic tags no Elementor
A exibição final acontece no Elementor PRO, onde as Dynamic Tags conectam cada widget a um campo do JetEngine sem repetir conteúdo manualmente. No template single (em Templates > Theme Builder) você arrasta um widget de Texto, clica no ícone de banco de dados e escolhe a Dynamic Tag do campo JetEngine correspondente. Para listas, você insere o widget Listing Grid e aponta para o Listing Item do Passo 3. Assim, publicar um novo registro já preenche a página inteira: é o coração do loop dinâmico que substitui dezenas de páginas estáticas.
Listing grid e dynamic field: Como os dados aparecem
O Listing Grid é o widget que renderiza vários itens de uma vez, e o Dynamic Field mostra 1 campo isolado dentro do card. Segundo a Crocoblock KB, o Listing Grid exibe Meta Fields de Custom Post Types, posts, termos e usuários, sempre a partir de um Listing Item.
Na prática, o grid responde por listagens (catálogo de imóveis, diretório de profissionais) e o Dynamic Field responde por cada dado solto. Os dois aceitam Elementor, Gutenberg ou Bricks, mantendo o mesmo backend se você trocar de editor. Um cuidado de campo: o Dynamic Field sobre um campo inexistente no post atual renderiza em branco, sem aviso. Ative o “Hide widget if value is empty” para que cards incompletos não deixem buracos. Quem monta um controle de visibilidade dinâmica com JetEngine e Elementor resolve isso de forma mais fina, escondendo seções inteiras conforme a condição do dado.
Query builder: Quando a wp_query padrão não basta
O Query Builder resolve consultas que a WP_Query padrão do Elementor não alcança, e vira gargalo acima de 10 mil posts se a query não for cuidada. Ele cruza meta fields, taxonomias e relações num filtro reutilizável, e aceita SQL custom para casos avançados.
O detalhe que separa um site rápido de um lento: uma meta query sem índice no meta_key, em base acima de 10 mil registros, faz o primeiro carregamento do Listing Grid passar de vários segundos de TTFB. Criar índice na tabela wp_postmeta e paginar o grid em 12 itens estabiliza a resposta. Esse comportamento depende da escala do banco e aparece quando o site sai do protótipo para produção. Quem monta diretório ou marketplace pode se inspirar em como estruturar um marketplace com JetEngine; para ligar dois CPTs, o artigo de relacionamentos entre posts com JetEngine cobre só esse recurso em profundidade.
Ative o combo no plano certo da FULL
Montar JetEngine e Elementor para sites dinâmicos exige 2 licenças premium, e é aqui que o custo assusta quem soma os planos avulsos. O Elementor PRO sozinho parte de cerca de US$59 por ano por site, e o JetEngine entra como assinatura separada da Crocoblock.
No plano PRO da FULL, por R$849,90 por mês para 10 sites, o Elementor PRO já vem incluído junto de outros 15 plugins premium, o que sai em torno de R$85 por site. A gente vê no suporte da FULL que boa parte de quem monta site dinâmico estava pagando licença por licença sem precisar, somando valores bem maiores que o bundle. Para conhecer o produto a fundo antes de decidir, veja a página do Elementor PRO nas soluções da FULL, que detalha recursos e diferenciais sem fricção de compra.
Erros comuns e como o suporte da FULL resolve
A maior parte dos chamados sobre sites dinâmicos cai em 3 causas ligadas à ordem de montagem. A primeira é o Listing Grid vazio: o campo do Listing Item tem nome técnico diferente do salvo no Meta Box, e o Dynamic Field não acha o valor.
A segunda é a página single em branco, quando a Dynamic Tag aponta para um campo que aquele post não preencheu. A terceira é lentidão, quase sempre uma query sem filtro sobre a base inteira. A correção segue a lógica do tutorial, de trás para frente: confira o nome técnico do campo, depois a Dynamic Tag, depois a query. Antes de subir para produção, valide o acesso via REST API dos seus Custom Post Types, porque apps externos dependem dele. E se houver busca, organize a taxonomia antes da query, já que filtrar por taxonomia indexada é muito mais leve que por meta field bruto.
Perguntas frequentes sobre JetEngine e Elementor
Por que o Listing Grid do JetEngine aparece vazio mesmo com posts publicados?
O Listing Grid vazio quase sempre vem de incompatibilidade de nome técnico: o campo exibido no Listing Item não bate com o meta_key salvo no Meta Box. O JetEngine não avisa o erro, apenas renderiza em branco. Confira o nome exato do campo no Meta Box e refaça o Dynamic Field do Listing Item com esse mesmo nome. Em grids que misturam dois Custom Post Types, os dois precisam compartilhar campos de nome idêntico.
É possível montar um site dinâmico com JetEngine sem o Elementor PRO?
Sim, é possível usar o JetEngine com Gutenberg ou Bricks no lugar do Elementor PRO, porque o backend dinâmico (CPT, campos, Query Builder) independe do construtor visual. Na prática, porém, o Elementor PRO oferece as Dynamic Tags e o Theme Builder mais maduros do ecossistema, e a maioria dos tutoriais e do suporte assume essa dupla. Sem um construtor com binding dinâmico, você perde a parte visual do fluxo.
Qual a diferença entre Dynamic Tags do Elementor e Dynamic Field do JetEngine?
As Dynamic Tags são um recurso do Elementor PRO que injeta o valor de um campo dentro de qualquer widget nativo, como Texto ou Imagem. O Dynamic Field é um widget do próprio JetEngine, feito para exibir um campo dentro de um Listing Item. Na prática, use Dynamic Tags em páginas single montadas no Theme Builder e o Dynamic Field dentro do molde de listagem. Os dois leem os mesmos campos do JetEngine.
Quanto custa o JetEngine junto com o Elementor PRO no bundle da FULL?
No plano PRO da FULL, por R$849,90 por mês para 10 sites, o Elementor PRO já vem incluído com outros 15 plugins premium, o que dá cerca de R$85 por site. O JetEngine é uma assinatura da Crocoblock contratada à parte. A vantagem do bundle aparece quando você soma as licenças avulsas: o Elementor PRO sozinho parte de cerca de US$59 por ano por site, e quem gerencia vários projetos costuma pagar caro mantendo tudo separado.
O que o Query Builder do JetEngine resolve que a WP_Query padrão não resolve?
O Query Builder permite criar consultas reutilizáveis que cruzam meta fields, taxonomias e relações sem escrever código, e ainda aceita SQL custom para casos avançados. A WP_Query embutida no Elementor cobre filtros simples, mas trava em cenários como ordenar por um campo numérico ou unir dois tipos de conteúdo. Acima de 10 mil posts, o Query Builder também ajuda a controlar a paginação e a evitar o TTFB alto de uma consulta sem filtro.
Próximos passos para o seu primeiro site dinâmico
Com JetEngine e Elementor para sites dinâmicos, a regra de ouro é montar de baixo para cima: primeiro o Custom Post Type, depois os campos, o Listing Item, a query e só então a exibição visual. Essa ordem evita o retrabalho que o suporte da FULL mais vê e mantém o site leve mesmo quando a base cresce. Comece por um único tipo de conteúdo, valide o fluxo completo de ponta a ponta e só depois replique para os demais. Quem quer ver a estrutura aplicada do zero pode seguir o guia de como criar um site com Elementor PRO e WordPress, e quem precisa de campos avançados encontra o caminho em criar Custom Post Types com JetEngine e ACF PRO. Para continuar aprendendo, o FULL Academy reúne tutoriais, guias e reviews num só lugar.
















