---
title: "Como criar templates dinâmicos com Elementor e JetEngine"
description: "Criar templates dinâmicos com Elementor e JetEngine é desenhar um layout uma vez e fazê-lo se preencher sozinho com os dados de cada item de um Custom."
url: https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/
date: 2026-06-21
author: "Clayton Margiotti"
---

# Como criar templates dinâmicos com Elementor e JetEngine

Criar **templates dinâmicos com Elementor e JetEngine** é montar um layout único que se preenche com os dados de cada item de um CPT, do listing grid à página individual. Segundo a [documentação do Elementor](https://developers.elementor.com) (2026), os dados dinâmicos ligam o design ao conteúdo. O erro mais comum é montar o template com texto fixo em vez de campos dinâmicos, e todos os itens saírem iguais.

Criar templates dinâmicos com Elementor e JetEngine é desenhar um layout uma vez e fazê-lo se preencher sozinho com os dados de cada item de um Custom Post Type, em vez de montar uma página para cada registro. O Elementor entrega o design e os widgets do JetEngine puxam os campos de cada item, do título à imagem, para a listagem e para a página individual. É o que permite um diretório com mil itens ter um layout consistente, montado uma só vez. Este guia faz parte do hub de [Elementor Pro da FULL](https://full.services/elementor-pro/) e mostra o passo a passo real, do listing grid à página individual.

---

## O que torna um template dinâmico e como os dois plugins se ligam

Um template é dinâmico quando, em vez de texto e imagens fixos, ele usa campos que se preenchem com os dados de cada item, de modo que o mesmo layout serve para todos os registros de um Custom Post Type. O Elementor desenha a estrutura e o JetEngine fornece os widgets que leem os campos do item atual, como dados dinâmicos. A diferença para uma página comum é a fonte do conteúdo: o template é o molde, e os dados vêm do CPT.

Na prática, há dois templates principais: o listing grid, que mostra muitos itens em uma grade, e o single, que exibe um item por inteiro. Os dois usam dados dinâmicos para se adaptar a cada registro. Nos atendimentos da FULL sobre [Crocoblock](https://full.services/crocoblock/), o erro mais comum é montar o template com conteúdo fixo, e todos os itens saírem com o mesmo texto, porque os widgets não foram ligados aos campos dinâmicos.

<p class="wp-caption-text">Legenda: o template é o molde, e o JetEngine preenche cada item com os próprios dados.</p>

## Quando vale montar templates dinâmicos

Vale montar templates dinâmicos quando você tem um Custom Post Type com muitos itens de mesma estrutura, como imóveis, profissionais ou produtos, que precisam de listagem e página individual padronizadas, e não vale para páginas únicas, que um layout fixo resolve. O template dinâmico rende em escala: quanto mais itens, maior a economia de montar o layout uma vez. Para poucas páginas avulsas, o esforço de configurar os dados dinâmicos não compensa.

Use este teste antes de montar. Diga SIM ao template dinâmico se você exibe uma coleção de itens com os mesmos campos, que merecem layout consistente. Diga NÃO se cada página tem estrutura própria e única. O encaixe ideal é a vitrine de um CPT, em que todos os itens seguem o mesmo molde. Para a base de conteúdo que o template exibe, o [guia de Custom Post Types com JetEngine e ACF PRO](https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/) mostra a estrutura.

## Pré-requisitos antes de montar o template

Antes de montar os templates dinâmicos você precisa de três peças no lugar, o Elementor Pro com o JetEngine, um Custom Post Type já registrado e com itens cadastrados, e a definição de quais campos cada template vai exibir, e a falta de qualquer uma deixa o template sem dados para puxar. Sem itens cadastrados, você não consegue nem visualizar o resultado do template dinâmico.

Checklist de prontidão antes de começar:

- Elementor Pro e JetEngine instalados e ativos.
- Um Custom Post Type registrado, com campos no ACF ou no JetEngine.
- Itens cadastrados no CPT, com os campos preenchidos.
- A definição dos campos que o listing grid vai mostrar.
- A definição do layout da página individual do item.
- A conexão entre o JetEngine e o Elementor confirmada.
- Permissão de administrador para criar templates.

Pense no conjunto como uma forma de bolo: o template é a forma, os dados dinâmicos são a massa de cada item e o CPT é a despensa com os ingredientes. Uma forma sem massa não assa nada, então é preciso ter os itens cadastrados antes de montar o molde que vai exibi-los.

## Como criar os templates dinâmicos em 5 passos

Criar os templates dinâmicos segue cinco passos, do listing grid à página individual, e respeitar a ordem evita o erro mais comum: usar texto fixo onde deveria haver dado dinâmico. Cada passo monta uma parte da exibição. Confirme antes que o CPT tem itens cadastrados, porque é deles que o template puxa o conteúdo para mostrar.

<table id="etapas-templates-dinamicos-elementor-jetengine">
  <caption>Templates dinâmicos com Elementor e JetEngine: etapas, objetivo e validação</caption>
  <thead>
    <tr>
      <th scope="col">Etapa</th>
      <th scope="col">Objetivo</th>
      <th scope="col">Check de validação</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Confirmar a conexão</th>
      <td>Ligar JetEngine e Elementor</td>
      <td>Widgets do JetEngine disponíveis</td>
    </tr>
    <tr>
      <th scope="row">Montar o listing grid</th>
      <td>Exibir a coleção</td>
      <td>Grade puxando os itens do CPT</td>
    </tr>
    <tr>
      <th scope="row">Ligar os dados dinâmicos</th>
      <td>Preencher cada item</td>
      <td>Campos dinâmicos no lugar do fixo</td>
    </tr>
    <tr>
      <th scope="row">Montar a página individual</th>
      <td>Exibir o item por inteiro</td>
      <td>Template single com os campos</td>
    </tr>
    <tr>
      <th scope="row">Testar com vários itens</th>
      <td>Validar a consistência</td>
      <td>Itens diferentes no mesmo molde</td>
    </tr>
  </tbody>
</table>

### Passo 1: Confirme a conexão entre JetEngine e Elementor

Antes de montar qualquer template, confirme que o JetEngine está integrado ao Elementor e que os widgets dinâmicos aparecem no editor, porque é essa conexão que dá ao Elementor acesso aos dados do CPT. Sem ela, os widgets do JetEngine não surgem e o template não tem como puxar os campos. Abra um editor e procure os elementos do JetEngine na barra lateral. Se eles não aparecem ou a integração falha, veja como corrigir a [conexão entre o JetEngine e o Elementor](https://full.services/wp-fixer/corrigir-conexao-jetengine-elementor/) antes de seguir.

### Passo 2: Monte o listing grid da coleção

Crie um template e adicione o listing grid do JetEngine, apontando-o para o Custom Post Type, porque é ele que transforma a coleção de itens em uma grade visual na página de listagem. Defina quantas colunas, quantos itens por página e a ordenação. Cada célula da grade é um item, montado com os dados dinâmicos. Se a grade aparece vazia mesmo com itens cadastrados, veja como corrigir o [listing grid vazio no JetEngine](https://full.services/wp-fixer/corrigir-listing-grid-vazio-jetengine/), porque uma consulta mal configurada não traz os itens para a grade.

### Passo 3: Ligue os dados dinâmicos a cada elemento

Dentro do item da grade, substitua os widgets de texto e imagem fixos por dados dinâmicos que puxam os campos de cada registro, porque é essa ligação que faz cada item mostrar o próprio conteúdo. Ligue o título ao campo de nome, a imagem ao campo de foto, o preço ao campo de valor. Cada elemento aponta para um campo do CPT. Se os dados dinâmicos não aparecem ou trazem o valor errado, veja como corrigir as [Dynamic Tags do Elementor que não exibem dados](https://full.services/wp-fixer/corrigir-dynamic-tags-acf-elementor/).

### Passo 4: Monte o template da página individual

Crie um template do tipo single para o CPT e monte o layout da página individual do item, ligando cada elemento aos campos dinâmicos, porque é essa página que o visitante abre ao clicar em um item da grade. Defina a condição de exibição para todos os itens do tipo. O single mostra o item por inteiro, com todos os campos. Esse template, como o listing, vale para todos os registros de uma vez, então um ajuste no molde reflete em todas as páginas individuais da coleção.

### Passo 5: Teste com vários itens diferentes

Abra a listagem e algumas páginas individuais de itens diferentes, conferindo que cada um mostra os próprios dados no mesmo layout, porque só testar com vários registros prova que o template é de fato dinâmico. Veja como o molde lida com um item sem foto ou com um campo vazio. Ajuste o template para esses casos. Testar com itens variados revela se o layout se adapta bem a todos ou se quebra quando um campo está em branco, o que é comum em coleções reais com dados desiguais.

<p class="wp-caption-text">Legenda: cada passo monta uma parte, do listing grid à página individual com dados dinâmicos.</p>

## Erros comuns ao montar templates dinâmicos

Os três erros mais comuns ao montar templates dinâmicos são usar conteúdo fixo no lugar do dinâmico, configurar mal a consulta do listing e não testar com itens variados. O primeiro é o mais frustrante: o template fica bonito com o item de exemplo, mas, por usar texto fixo em vez de dados dinâmicos, todos os registros saem com o mesmo conteúdo, anulando o sentido de um molde dinâmico.

O segundo erro é a consulta do listing grid mal configurada, que traz a grade vazia ou com os itens errados, em geral por apontar para o post type ou os parâmetros errados. A correção é revisar a query do grid. O terceiro caso é testar só com um item perfeito e não ver como o template lida com campos vazios. Quando a consulta do listing dá erro, vale ver como corrigir o [erro de query no listing grid do JetEngine](https://full.services/wp-fixer/corrigir-erro-query-jetengine-listing-grid/).

## Como manter os templates consistentes

Manter os templates dinâmicos consistentes exige tratar os campos vazios e revisar o molde quando a coleção evolui, porque dados reais são desiguais, e um layout que só funciona com o item perfeito quebra na prática. A consistência vem de prever a variação dos dados, não de assumir que todos os itens são completos.

Configure o template para lidar com campos opcionais, escondendo um elemento quando o dado falta, e padronize o cadastro para reduzir buracos. Revise o molde ao adicionar campos novos ao CPT, garantindo que a exibição acompanhe. Quando a coleção cresce, a navegação por filtros ganha importância, e o [guia de filtros de busca com JetSmartFilters e JetEngine](https://full.services/criar-filtros-de-busca-com-jetsmartfilters-e-jetengine/) mostra como deixar os itens fáceis de encontrar.

## Como a FULL faz isso em escala

A FULL padroniza templates dinâmicos porque acompanha mais de 150 mil sites WordPress, e projetos com coleções de conteúdo, como diretórios e catálogos, aparecem o tempo todo, onde montar listagem e página individual em cada site vira gargalo. Em vez de licença avulsa por instalação, o Crocoblock, com o JetEngine, entra no bundle e o padrão de template dinâmico fica replicável de um projeto para outro.

No plano PRO da FULL, por [R$849](https://full.services/planos), o Crocoblock já vem no pacote para até dez sites, o que dá R$85 por site em vez de pagar cada licença separada. Para quem monta vários sites com coleções, a gente vê isso trocar um custo recorrente espalhado por um padrão único: os mesmos templates de listing e single são exportados e reaproveitados de um projeto para outro, sem remontar do zero a cada site. É a economia que só aparece quando o stack é o mesmo em toda a base.

## Checklist final dos templates dinâmicos

O checklist final dos templates dinâmicos confirma, em uma passada, que a coleção aparece consistente antes de você publicar a vitrine. Rode esta lista depois do passo 5 e a cada novo campo adicionado ao CPT, porque a exibição precisa acompanhar a estrutura do conteúdo.

Antes de declarar pronto, confirme:

- Os widgets do JetEngine aparecem no editor do Elementor.
- O listing grid puxa os itens do Custom Post Type certo.
- Os elementos usam dados dinâmicos, não conteúdo fixo.
- A página individual exibe o item por inteiro com os campos.
- O template foi testado com vários itens diferentes.
- O layout lida bem com campos vazios, sem quebrar.
- O molde se aplica a todos os itens do tipo de uma vez.

Se qualquer item falhar, volte ao passo correspondente antes de publicar a coleção.

## Perguntas frequentes sobre templates dinâmicos com Elementor e JetEngine

<details>
  <summary>Qual a diferença entre listing grid e template single?</summary>
  <p>São os dois templates que exibem um Custom Post Type, com papéis distintos. Use o listing grid na página de coleção, onde ele mostra muitos itens em grade, cada um com um resumo. Use o template single na página de detalhe, que o visitante abre ao clicar e que exibe um item por inteiro. Um projeto completo monta os dois: o grid para descobrir e o single para aprofundar. Ambos valem para todos os registros do tipo de uma vez.</p>
</details>

<details>
  <summary>Preciso do Elementor Pro para usar os templates do JetEngine?</summary>
  <p>Para a integração completa, sim. O Elementor Pro habilita o construtor de temas e os dados dinâmicos, que o JetEngine usa para exibir os campos do CPT em listings e páginas individuais. A versão gratuita do Elementor monta páginas comuns, mas não os templates dinâmicos. O JetEngine também oferece o próprio sistema de listings que funciona com a versão gratuita em alguns casos, mas a combinação mais fluida, com todos os recursos de dados dinâmicos, vem com o Elementor Pro somado ao JetEngine.</p>
</details>

<details>
  <summary>Posso usar campos do ACF nos templates do JetEngine?</summary>
  <p>Sim. Os templates do JetEngine no Elementor conseguem puxar campos do ACF além dos campos próprios do JetEngine, ligando um elemento do layout a um campo do ACF por dados dinâmicos. Isso é útil quando você registra o CPT no JetEngine, mas prefere o ACF para os campos. A integração permite misturar as duas fontes na mesma exibição. O importante é confirmar que o campo do ACF está atribuído ao post type e que o dado dinâmico aponta para o nome correto do campo.</p>
</details>

<details>
  <summary>O que acontece se um item tiver um campo vazio?</summary>
  <p>Por padrão, o elemento que puxa esse campo aparece vazio, o que pode deixar um buraco no layout. Em uma coleção real, os dados são desiguais, então alguns itens terão campos em branco. A solução é configurar o template para esconder o elemento quando o dado falta, usando as condições de visibilidade dinâmica. Assim, um item sem foto ou sem um atributo não mostra um espaço vazio, e o layout se adapta. Testar com itens incompletos é o que revela esses casos antes de publicar.</p>
</details>

## Próximos passos para uma coleção bem exibida

Criar templates dinâmicos com Elementor e JetEngine é, no fundo, montar um molde uma vez e deixá-lo se preencher com cada item: confirme a conexão, monte o listing grid, ligue os dados dinâmicos, crie a página individual e teste com vários itens. Usar conteúdo fixo no lugar do dinâmico é o erro que mais deixa os itens iguais, então ligue cada elemento a um campo. Para padronizar o Crocoblock em vários sites sem licença avulsa, conheça os [planos da FULL](https://full.services/planos), e para continuar aprendendo, o [FULL Academy](https://full.services/academy/) reúne os tutoriais de WordPress em um só lugar.


---

## Metadados Estruturados (Schema.org)

```json-ld
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#article",
      "headline": "Como criar templates dinâmicos com Elementor e JetEngine",
      "description": "Criar templates dinâmicos com Elementor e JetEngine é desenhar um layout uma vez e fazê-lo se preencher sozinho com os dados de cada item de um Custom Post Type, em vez de montar uma página para cada ",
      "url": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/",
      "datePublished": "2026-06-21T09:00:00-03:00",
      "dateModified": "2026-06-21T09:00:00-03:00",
      "inLanguage": "pt-BR",
      "articleSection": "Elementor Pro",
      "keywords": [
        "criar templates dinamicos com elementor e jetengine",
        "Elementor",
        "WordPress Page Builders",
        "Web Design"
      ],
      "author": {
        "@id": "https://full.services/#person-clayton"
      },
      "publisher": {
        "@id": "https://full.services/#org"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "Elementor",
          "@id": "https://www.wikidata.org/wiki/Q96322879",
          "sameAs": "https://www.wikidata.org/wiki/Q96322879"
        },
        {
          "@type": "Thing",
          "name": "WordPress Page Builders"
        },
        {
          "@type": "Thing",
          "name": "Web Design"
        }
      ],
      "mentions": [
        {
          "@type": "Organization",
          "name": "Elementor",
          "url": "https://elementor.com/",
          "@id": "https://www.wikidata.org/wiki/Q96322879",
          "sameAs": "https://www.wikidata.org/wiki/Q96322879"
        },
        {
          "@type": "Organization",
          "name": "WordPress",
          "url": "https://wordpress.org/",
          "@id": "https://www.wikidata.org/wiki/Q13166",
          "sameAs": "https://www.wikidata.org/wiki/Q13166"
        }
      ],
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/"
      },
      "wordCount": 2556,
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "Elementor Developers",
          "url": "https://developers.elementor.com",
          "publisher": {
            "@type": "Organization",
            "name": "Elementor Developers"
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#faq",
      "isPartOf": {
        "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#faq-q1",
          "name": "Qual a diferença entre listing grid e template single?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "São os dois templates que exibem um Custom Post Type, com papéis distintos. Use o listing grid na página de coleção, onde ele mostra muitos itens em grade, cada um com um resumo. Use o template single na página de detalhe, que o visitante abre ao clicar e que exibe um item por inteiro. Um projeto completo monta os dois: o grid para descobrir e o single para aprofundar. Ambos valem para todos os registros do tipo de uma vez.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#faq-q2",
          "name": "Preciso do Elementor Pro para usar os templates do JetEngine?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Para a integração completa, sim. O Elementor Pro habilita o construtor de temas e os dados dinâmicos, que o JetEngine usa para exibir os campos do CPT em listings e páginas individuais. A versão gratuita do Elementor monta páginas comuns, mas não os templates dinâmicos. O JetEngine também oferece o próprio sistema de listings que funciona com a versão gratuita em alguns casos, mas a combinação mais fluida, com todos os recursos de dados dinâmicos, vem com o Elementor Pro somado ao JetEngine.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#faq-q3",
          "name": "Posso usar campos do ACF nos templates do JetEngine?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Sim. Os templates do JetEngine no Elementor conseguem puxar campos do ACF além dos campos próprios do JetEngine, ligando um elemento do layout a um campo do ACF por dados dinâmicos. Isso é útil quando você registra o CPT no JetEngine, mas prefere o ACF para os campos. A integração permite misturar as duas fontes na mesma exibição. O importante é confirmar que o campo do ACF está atribuído ao post type e que o dado dinâmico aponta para o nome correto do campo.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#faq-q4",
          "name": "O que acontece se um item tiver um campo vazio?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Por padrão, o elemento que puxa esse campo aparece vazio, o que pode deixar um buraco no layout. Em uma coleção real, os dados são desiguais, então alguns itens terão campos em branco. A solução é configurar o template para esconder o elemento quando o dado falta, usando as condições de visibilidade dinâmica. Assim, um item sem foto ou sem um atributo não mostra um espaço vazio, e o layout se adapta. Testar com itens incompletos é o que revela esses casos antes de publicar.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://full.services/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Como criar templates dinâmicos com Elementor e JetEngine",
          "item": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://full.services/#org",
      "name": "FULL Services",
      "url": "https://full.services",
      "logo": {
        "@type": "ImageObject",
        "url": "https://full.services/wp-content/uploads/full-services-logo.png",
        "width": 200,
        "height": 60
      },
      "sameAs": [
        "https://www.instagram.com/fullservicesbr",
        "https://www.facebook.com/fullservices.br",
        "https://www.linkedin.com/company/fullservicesbr/"
      ],
      "knowsAbout": [
        "WordPress",
        "WordPress Hosting",
        "Web Development",
        "Performance Optimization",
        "WordPress Security",
        "SEO para WordPress"
      ],
      "award": [
        "Gold Medal - The WP Weekly Awards 2023 (https://thewpweekly.com/awards-2023/)",
        "Gold Medal - The WP Weekly Awards 2024 (https://thewpweekly.com/awards-2024/)"
      ],
      "hasCredential": {
        "@type": "EducationalOccupationalCredential",
        "credentialCategory": "certification",
        "name": "CVE Numbering Authority (CNA)",
        "description": "Autoridade de numeração de vulnerabilidades (CVE) para o ecossistema WordPress, autorizada a atribuir IDs CVE. Certificação válida desde 2022-05-03, com abrangência global.",
        "url": "https://www.cve.org/PartnerInformation/ListofPartners/partner/FULL",
        "recognizedBy": {
          "@type": "Organization",
          "name": "CISA — Cybersecurity and Infrastructure Security Agency",
          "url": "https://www.cisa.gov/",
          "sameAs": "https://www.cisa.gov/"
        }
      }
    },
    {
      "@type": "Person",
      "@id": "https://full.services/#person-clayton",
      "name": "Clayton Margiotti",
      "givenName": "Clayton",
      "familyName": "Margiotti",
      "jobTitle": "Fundador e CEO da FULL Services",
      "description": "Fundador e CEO da FULL Services, plataforma WordPress SaaS com 50 mil clientes e 150 mil sites conectados, e anchor do ecossistema Elevor Global. Em 2024 conduziu a FULL a se tornar a primeira e unica empresa brasileira aprovada como CVE Numbering Authority sob a CISA (DHS/EUA). Mais de 20 anos construindo empresas digitais, com 13+ reconhecimentos internacionais (Facebook, GPTW, ONU, RD Summit).",
      "url": "https://full.services/sobre-nos/",
      "image": "https://full.services/wp-content/uploads/2026/05/clayton-margiotti.jpg",
      "sameAs": [
        "https://www.linkedin.com/in/cmargiotti/"
      ],
      "knowsAbout": [
        "Artificial Intelligence",
        "Cybersecurity",
        "CVE Program",
        "WordPress Enterprise",
        "SaaS Platforms",
        "Digital Infrastructure",
        "Technology Entrepreneurship",
        "Company Building",
        "Business Leadership",
        "Digital Growth"
      ],
      "hasOccupation": {
        "@type": "Occupation",
        "name": "Fundador e CEO",
        "occupationalCategory": "11-1011.00"
      },
      "knowsLanguage": [
        {
          "@type": "Language",
          "name": "Portuguese",
          "alternateName": "pt-BR"
        },
        {
          "@type": "Language",
          "name": "English",
          "alternateName": "en"
        }
      ],
      "memberOf": {
        "@type": "Organization",
        "name": "CVE Numbering Authorities",
        "url": "https://www.cve.org/",
        "sameAs": "https://www.cve.org/"
      },
      "alumniOf": [
        {
          "@type": "EducationalOrganization",
          "name": "Global Scaling Academy (Blitzscaling Program)",
          "url": "https://www.blitzscalingacademy.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Esade",
          "url": "https://www.esade.edu"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Business School Sao Paulo (BSP)",
          "url": "https://bsp.edu.br/"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Tera",
          "url": "https://somostera.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "Le Wagon",
          "url": "https://www.lewagon.com"
        },
        {
          "@type": "EducationalOrganization",
          "name": "FIAP",
          "url": "https://www.fiap.com.br"
        },
        {
          "@type": "EducationalOrganization",
          "name": "PUCRS",
          "url": "https://online.pucrs.br/"
        }
      ],
      "award": [
        "Digital Disruptor – Engaging Experiences Master (Globant, 2021)",
        "Maior ROI do e-commerce brasileiro – Letrissimas (Facebook, 2019)",
        "1º lugar – Melhores Empresas para Trabalhar no Brasil – Eleva Digital (Great Place to Work, 2018)",
        "Case global de educacao no Facebook – Metodo SUPERA (Facebook, 2017)",
        "Maquina de Geracao de Leads, Agencia do Ano (RD Summit / RD Station, 2015)",
        "Monthly Recurring Revenue, top performance (RD Summit / RD Station, 2015)",
        "Quality/Efficiency – Entrepreneurship Training (UNCTAD / PNUD-ONU, 2010)"
      ],
      "subjectOf": [
        {
          "@type": "NewsArticle",
          "url": "https://www.globant.com/news/globant-reveals-inaugural-digital-disruptors-award-winners",
          "publisher": {
            "@type": "Organization",
            "name": "Globant"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.prnewswire.com/news-releases/letrissimas-com-e-destaque-do-e-commerce-brasileiro-com-maior-roi-de-2018-877517801.html",
          "publisher": {
            "@type": "Organization",
            "name": "PR Newswire"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://www.segs.com.br/seguros/102599-gestao-de-pessoas-garante-mais-lucro-as-empresas",
          "publisher": {
            "@type": "Organization",
            "name": "Segs"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://franquiaeducacional.com/negocios-inovadores-facebook-elege-supera-case-mundial-de-educacao",
          "publisher": {
            "@type": "Organization",
            "name": "Franquia Educacional"
          }
        },
        {
          "@type": "NewsArticle",
          "url": "https://acontecendoaqui.com.br/marketing/resultados-digitais-divulga-vencedores-do-premio-agencias-de-resultados-2015-durante-o-rd",
          "publisher": {
            "@type": "Organization",
            "name": "Acontecendo Aqui"
          }
        }
      ],
      "worksFor": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      }
    },
    {
      "@type": "HowTo",
      "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#howto",
      "isPartOf": {
        "@id": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/#article"
      },
      "name": "Passo a passo: criar templates dinamicos com elementor e jetengine",
      "description": "Guia passo a passo sobre criar templates dinamicos com elementor e jetengine para WordPress.",
      "url": "https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/",
      "totalTime": "PT30M",
      "author": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      },
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Passo 1: Confirme a conexão entre JetEngine e Elementor",
          "text": "Antes de montar qualquer template, confirme que o JetEngine está integrado ao Elementor e que os widgets dinâmicos aparecem no editor, porque é essa conexão que dá ao Elementor acesso aos dados do CPT. Sem ela, os widgets do JetEngine não surgem e o template não tem como puxar os campos. Abra um editor e procure os elementos do JetEngine na barra lateral. Se eles não aparecem ou a integração falha, veja como corrigir a <a href="https://full.services/wp-fixer/corrigir-conexao-jetengine-elementor/">conexão entre o JetEngine e o Elementor</a> antes de seguir."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Passo 2: Monte o listing grid da coleção",
          "text": "Crie um template e adicione o listing grid do JetEngine, apontando-o para o Custom Post Type, porque é ele que transforma a coleção de itens em uma grade visual na página de listagem. Defina quantas colunas, quantos itens por página e a ordenação. Cada célula da grade é um item, montado com os dados dinâmicos. Se a grade aparece vazia mesmo com itens cadastrados, veja como corrigir o <a href="https://full.services/wp-fixer/corrigir-listing-grid-vazio-jetengine/">listing grid vazio no JetEngine</a>, porque uma consulta mal configurada não traz os itens para a grade."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Passo 3: Ligue os dados dinâmicos a cada elemento",
          "text": "Dentro do item da grade, substitua os widgets de texto e imagem fixos por dados dinâmicos que puxam os campos de cada registro, porque é essa ligação que faz cada item mostrar o próprio conteúdo. Ligue o título ao campo de nome, a imagem ao campo de foto, o preço ao campo de valor. Cada elemento aponta para um campo do CPT. Se os dados dinâmicos não aparecem ou trazem o valor errado, veja como corrigir as <a href="https://full.services/wp-fixer/corrigir-dynamic-tags-acf-elementor/">Dynamic Tags do Elementor que não exibem dados</a>."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Passo 4: Monte o template da página individual",
          "text": "Crie um template do tipo single para o CPT e monte o layout da página individual do item, ligando cada elemento aos campos dinâmicos, porque é essa página que o visitante abre ao clicar em um item da grade. Defina a condição de exibição para todos os itens do tipo. O single mostra o item por inteiro, com todos os campos. Esse template, como o listing, vale para todos os registros de uma vez, então um ajuste no molde reflete em todas as páginas individuais da coleção."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Passo 5: Teste com vários itens diferentes",
          "text": "Abra a listagem e algumas páginas individuais de itens diferentes, conferindo que cada um mostra os próprios dados no mesmo layout, porque só testar com vários registros prova que o template é de fato dinâmico. Veja como o molde lida com um item sem foto ou com um campo vazio. Ajuste o template para esses casos. Testar com itens variados revela se o layout se adapta bem a todos ou se quebra quando um campo está em branco, o que é comum em coleções reais com dados desiguais. <p class="wp-caption-text">Legenda: cada passo monta uma parte, do listing grid à página individual com dados dinâmicos.</p> Os três erros mais comuns ao montar templates dinâmicos são usar conteúdo fixo no lugar do dinâmico, configurar mal a consulta do listing e não testar com itens variados. O primeiro é o mais frustrante: o template fica bonito com o item de exemplo, mas, por usar texto fixo em vez de dados dinâmicos, todos os registros saem com o mesmo conteúdo, anulando o sentido de um molde dinâmico. O segundo erro é a consulta do listing grid mal configurada, que traz a grade vazia ou com os itens errados, em geral por apontar para o post type ou os parâmetros errados. A correção é revisar a query do"
        }
      ]
    }
  ]
}
```
