---
title: "JetEngine e Elementor para sites dinâmicos em 5 passos"
description: "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."
url: https://full.services/jetengine-e-elementor-para-sites-dinamicos/
date: 2026-06-28
author: "Clayton Margiotti"
---

# JetEngine e Elementor para sites dinâmicos em 5 passos

**JetEngine e Elementor para sites dinâmicos** transformam o WordPress num site data-driven: o JetEngine cria os dados e o Elementor PRO monta a tela. Segundo a [W3Techs](https://w3techs.com/technologies/details/cm-wordpress) (2026), o WordPress roda cerca de 43% dos sites da web. O fluxo certo é CPT, campos, Listing Grid e Query Builder. Comece pelo modelo de dados antes do editor visual.

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](https://full.services/elementor/) 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](https://crocoblock.com/plugins/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.

<p class="wp-caption-text">Legenda: o menu JetEngine concentra Post Types, Meta Boxes e Listings, as peças de backend que o Elementor depois consome.</p>

<table id="etapas-jetengine-elementor-sites-dinamicos">
  <caption>JetEngine e Elementor: as 5 peças e o que cada uma resolve</caption>
  <thead>
    <tr>
      <th scope="col">Peça</th>
      <th scope="col">Plugin responsável</th>
      <th scope="col">O que entrega no site dinâmico</th>
    </tr>
  </thead>
  <tbody>
    <tr><th scope="row">Custom Post Type</th><td>JetEngine</td><td>O tipo de conteúdo (imóveis, vagas, médicos) com URL e arquivo próprios.</td></tr>
    <tr><th scope="row">Campos / Meta Box</th><td>JetEngine</td><td>Os dados de cada item (preço, área, telefone) salvos como meta.</td></tr>
    <tr><th scope="row">Listing Item</th><td>JetEngine</td><td>O molde visual de um item, repetido para todos os registros.</td></tr>
    <tr><th scope="row">Query Builder</th><td>JetEngine</td><td>A consulta que filtra e ordena quais itens aparecem.</td></tr>
    <tr><th scope="row">Dynamic Tags</th><td>Elementor PRO</td><td>A ponte que injeta o valor de cada campo dentro do widget.</td></tr>
  </tbody>
</table>

---

## 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](https://full.services/glossario/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](https://crocoblock.com/knowledge-base/features/meta-field-types-overview/). 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](https://full.services/glossario/wp-query/) 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](https://crocoblock.com/knowledge-base/features/query-builder-overview/). 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](https://full.services/glossario/loop-wordpress/) 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](https://crocoblock.com/knowledge-base/features/listing-grid-widget-overview/), 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](https://full.services/criar-visibilidade-dinamica-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](https://full.services/jetengine-para-marketplaces-como-estruturar/); para ligar dois CPTs, o artigo de [relacionamentos entre posts com JetEngine](https://full.services/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](https://full.services/planos), 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](https://full.services/solucoes/elementor-pro), 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](https://full.services/glossario/rest-api-wordpress/) dos seus Custom Post Types, porque apps externos dependem dele. E se houver busca, organize a [taxonomia](https://full.services/glossario/taxonomia-wordpress/) antes da query, já que filtrar por taxonomia indexada é muito mais leve que por meta field bruto.

<aside aria-label="Metodologia dos Testes">
## Metodologia dos testes
<p>As observações deste tutorial vêm de instalações montadas e revisadas entre <time datetime="2026-01">janeiro</time> e <time datetime="2026-06">junho de 2026</time>, em WordPress 6.x com PHP 8.2, usando JetEngine sobre Elementor PRO 3.x. Os caminhos de menu e nomes de opção foram conferidos contra a Crocoblock KB no mesmo período, e os comportamentos de performance foram observados em bases que vão de algumas centenas a mais de 10 mil registros. Os valores de preço refletem a tabela vigente em <time datetime="2026-06">junho de 2026</time>. Onde a documentação oficial não cobre o comportamento em escala, o texto sinaliza que se trata de observação de campo do suporte da FULL, sem número proporcional atribuído.</p>
</aside>

---

## Perguntas frequentes sobre JetEngine e Elementor

<details>
  <summary>Por que o Listing Grid do JetEngine aparece vazio mesmo com posts publicados?</summary>
  <p>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.</p>
</details>

<details>
  <summary>É possível montar um site dinâmico com JetEngine sem o Elementor PRO?</summary>
  <p>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.</p>
</details>

<details>
  <summary>Qual a diferença entre Dynamic Tags do Elementor e Dynamic Field do JetEngine?</summary>
  <p>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.</p>
</details>

<details>
  <summary>Quanto custa o JetEngine junto com o Elementor PRO no bundle da FULL?</summary>
  <p>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.</p>
</details>

<details>
  <summary>O que o Query Builder do JetEngine resolve que a WP_Query padrão não resolve?</summary>
  <p>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.</p>
</details>

---

## 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](https://full.services/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](https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/). Para continuar aprendendo, o [FULL Academy](https://full.services/academy/) reúne tutoriais, guias e reviews num só lugar.


---

## Metadados Estruturados (Schema.org)

```json-ld
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "TechArticle",
      "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#article",
      "headline": "JetEngine e Elementor para sites dinâmicos em 5 passos",
      "description": "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.",
      "url": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/",
      "datePublished": "2026-06-28T09:00:00-03:00",
      "dateModified": "2026-06-28T09:00:00-03:00",
      "inLanguage": "pt-BR",
      "articleSection": "Elementor",
      "keywords": [
        "jetengine e elementor para sites dinamicos",
        "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/jetengine-e-elementor-para-sites-dinamicos/"
      },
      "wordCount": 2444,
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "W3Techs",
          "url": "https://w3techs.com/technologies/details/cm-wordpress",
          "publisher": {
            "@type": "Organization",
            "name": "W3Techs"
          }
        },
        {
          "@type": "CreativeWork",
          "name": "Crocoblock KB",
          "url": "https://crocoblock.com/plugins/jetengine/",
          "publisher": {
            "@type": "Organization",
            "name": "Crocoblock KB"
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq",
      "isPartOf": {
        "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq-q1",
          "name": "Por que o Listing Grid do JetEngine aparece vazio mesmo com posts publicados?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "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.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq-q2",
          "name": "É possível montar um site dinâmico com JetEngine sem o Elementor PRO?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "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.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq-q3",
          "name": "Qual a diferença entre Dynamic Tags do Elementor e Dynamic Field do JetEngine?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "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.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq-q4",
          "name": "Quanto custa o JetEngine junto com o Elementor PRO no bundle da FULL?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "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.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#faq-q5",
          "name": "O que o Query Builder do JetEngine resolve que a WP_Query padrão não resolve?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "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.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://full.services/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Elementor",
          "item": "https://full.services/elementor/"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "JetEngine e Elementor para sites dinâmicos em 5 passos",
          "item": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/"
        }
      ]
    },
    {
      "@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/jetengine-e-elementor-para-sites-dinamicos/#howto",
      "isPartOf": {
        "@id": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/#article"
      },
      "name": "Passo a passo: jetengine e elementor para sites dinamicos",
      "description": "Guia passo a passo sobre jetengine e elementor para sites dinamicos para WordPress.",
      "url": "https://full.services/jetengine-e-elementor-para-sites-dinamicos/",
      "totalTime": "PT30M",
      "author": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      },
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Passo 1: Crie o custom post type no JetEngine",
          "text": "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 <a href="https://full.services/glossario/custom-post-type/">Custom Post Type</a> bem nomeado aqui evita renomear slug depois, o que quebraria links e a indexação."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Passo 2: Adicione os campos com meta box",
          "text": "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 <a href="https://crocoblock.com/knowledge-base/features/meta-field-types-overview/">Crocoblock KB</a>. Sem isso, o grid mostra células vazias para parte dos itens."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Passo 3: Desenhe o listing item",
          "text": "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."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Passo 4: Configure a consulta no query builder",
          "text": "A consulta define quais itens aparecem e em que ordem, e o <a href="https://full.services/glossario/wp-query/">Query Builder</a> 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 <a href="https://crocoblock.com/knowledge-base/features/query-builder-overview/">Crocoblock KB</a>. Em bases grandes, uma query bem filtrada é a diferença entre uma página leve e uma travada."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Passo 5: Exiba os dados com dynamic tags no Elementor",
          "text": "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 <a href="https://full.services/glossario/loop-wordpress/">loop dinâmico</a> que substitui dezenas de páginas estáticas. --- 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 <a href="https://crocoblock.com/knowledge-base/features/listing-grid-widget-overview/">Crocoblock KB</a>, 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"
        }
      ]
    }
  ]
}
```
