---
title: "Como criar custom post types com JetEngine e ACF PRO"
description: "Criar Custom Post Types com JetEngine e ACF PRO é estruturar tipos de conteúdo sob medida no WordPress, como imóveis, profissionais ou receitas, usando."
url: https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/
date: 2026-06-21
author: "Clayton Margiotti"
---

# Como criar custom post types com JetEngine e ACF PRO

Criar **Custom Post Types com JetEngine e ACF PRO** é registrar um tipo de conteúdo próprio no JetEngine e anexar campos do ACF para estruturar dados além de post e página. Segundo a [WordPress Developer Docs](https://developer.wordpress.org) (2026), o custom post type estende o WordPress sem código. O erro mais comum é registrar o CPT e esquecer de exibi-lo no frontend, deixando o conteúdo invisível.

Criar Custom Post Types com JetEngine e ACF PRO é estruturar tipos de conteúdo sob medida no WordPress, como imóveis, profissionais ou receitas, usando o JetEngine para registrar o post type e o ACF para adicionar os campos que descrevem cada item. O WordPress vem com post e página, mas projetos reais precisam de conteúdo com estrutura própria, e essa dupla resolve isso sem escrever PHP. O segredo está em planejar os campos antes e garantir que o conteúdo apareça no site. Este guia faz parte do hub de [Crocoblock da FULL](https://full.services/crocoblock/) e mostra o passo a passo real, do registro do CPT à exibição no frontend.

---

## O que é um custom post type e o papel de cada plugin

Um Custom Post Type é um tipo de conteúdo próprio que você adiciona ao WordPress além de post e página, com a sua própria área no painel, e o JetEngine é quem o registra de forma visual, enquanto o ACF PRO adiciona os campos personalizados que descrevem cada item desse tipo. O JetEngine cria o recipiente; o ACF preenche a estrutura interna. A diferença para um post comum é a estrutura: um CPT de imóvel tem preço, área e quartos, campos que um post não prevê.

Na prática, você decide o tipo de conteúdo, registra o CPT no JetEngine e cria um grupo de campos no ACF para os dados de cada item. Assim, um diretório ganha uma estrutura limpa e consistente. Nos atendimentos da FULL sobre [Crocoblock](https://full.services/crocoblock/), o erro mais comum é registrar o CPT e os campos, preencher os itens e esquecer de montar a exibição, deixando o conteúdo guardado no painel sem aparecer para o visitante.

<p class="wp-caption-text">Legenda: o JetEngine registra o post type e o ACF adiciona os campos que descrevem cada item.</p>

## Quando vale criar um custom post type

Vale criar um Custom Post Type quando você tem um conjunto de conteúdo com estrutura repetida e própria, como um catálogo de imóveis, um diretório de profissionais ou uma base de cursos, e não vale quando o conteúdo cabe bem em posts ou páginas comuns. O CPT rende quando os itens compartilham uma ficha de dados e precisam de uma área separada. Para um punhado de páginas únicas, sem padrão, o post comum resolve sem o esforço de estruturar um tipo novo.

Use este teste antes de criar. Diga SIM ao CPT se você tem vários itens com os mesmos campos, que merecem listagem e filtro próprios. Diga NÃO se o conteúdo é variado e único, sem estrutura repetida. O encaixe ideal é o site que organiza coleções, em que cada item segue a mesma ficha. Para exibir esses itens em páginas montadas, o [guia de templates dinâmicos com Elementor e JetEngine](https://full.services/criar-templates-dinamicos-com-elementor-e-jetengine/) mostra a vitrine.

## Pré-requisitos antes de registrar o CPT

Antes de registrar o Custom Post Type você precisa de três peças no lugar, o JetEngine instalado e ativo, o ACF para os campos e um plano da estrutura, com o nome do tipo e a lista de campos que cada item terá, e a falta de qualquer uma transforma o registro em um tipo vazio e mal pensado. Sem planejar os campos antes, você cria um CPT que precisa ser remodelado depois.

Checklist de prontidão antes de começar:

- JetEngine instalado e ativo, para registrar o post type.
- ACF instalado e ativo, para os campos personalizados.
- O nome do tipo de conteúdo e o que ele representa.
- A lista dos campos de cada item, com o tipo de cada um.
- A decisão se o tipo terá taxonomias próprias para categorizar.
- Um plano de como os itens serão exibidos no frontend.
- Permissão de administrador para registrar tipos e criar campos.

Pense no conjunto como montar um arquivo de fichas: o JetEngine cria a gaveta do novo tipo, o ACF define o formato da ficha e o plano de campos é a lista do que cada ficha registra. Criar a gaveta sem definir a ficha deixa um arquivo sem padrão, difícil de usar depois.

## Como criar o custom post type em 5 passos

Criar o Custom Post Type segue cinco passos, do registro à exibição no frontend, e respeitar a ordem evita o erro mais comum: registrar o tipo e nunca montar a exibição. Cada passo fecha uma etapa, do recipiente ao site. Confirme antes que você planejou os campos, porque é a estrutura que dá sentido ao novo tipo de conteúdo.

<table id="etapas-cpt-jetengine-acf">
  <caption>Custom Post Type com JetEngine e ACF: 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">Registrar o post type</th>
      <td>Criar o tipo de conteúdo</td>
      <td>CPT visível no painel</td>
    </tr>
    <tr>
      <th scope="row">Adicionar os campos no ACF</th>
      <td>Estruturar cada item</td>
      <td>Grupo de campos no CPT</td>
    </tr>
    <tr>
      <th scope="row">Criar as taxonomias</th>
      <td>Categorizar os itens</td>
      <td>Taxonomia ligada ao tipo</td>
    </tr>
    <tr>
      <th scope="row">Cadastrar itens de teste</th>
      <td>Validar a estrutura</td>
      <td>Itens com campos preenchidos</td>
    </tr>
    <tr>
      <th scope="row">Exibir no frontend</th>
      <td>Mostrar ao visitante</td>
      <td>Item visível no site</td>
    </tr>
  </tbody>
</table>

### Passo 1: Registre o post type no JetEngine

No JetEngine, abra a área de Post Types e registre o novo tipo, definindo o nome, o slug e os rótulos que aparecem no painel, porque é esse registro que cria a área própria do conteúdo no WordPress. Escolha um slug claro, que vai compor a URL dos itens. Defina se o tipo é público e aparece na busca. O JetEngine faz isso de forma visual, sem código, então o foco é a clareza do nome e do slug, que serão difíceis de mudar depois sem afetar as URLs já criadas e os links que apontam para elas.

### Passo 2: Adicione os campos personalizados no ACF

Crie no ACF um grupo de campos com os dados de cada item do CPT, atribuindo o grupo ao post type recém-registrado, porque são esses campos que transformam o tipo vazio em uma ficha estruturada. Use o tipo de campo certo para cada dado: número para preço, texto para nome, seleção para categoria fixa. Atribua o grupo ao CPT na regra de localização. Se os campos do ACF não aparecem no editor do novo tipo, veja como corrigir os [Custom Fields que não aparecem no frontend no ACF PRO](https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/).

### Passo 3: Crie as taxonomias para categorizar

Registre, ainda no JetEngine, as taxonomias próprias do CPT, como categorias ou tipos, porque elas organizam os itens e permitem filtrar e listar por grupo. Uma taxonomia de bairro para imóveis, ou de área para profissionais, dá estrutura à navegação. Defina se a taxonomia é hierárquica, como categoria, ou plana, como tag. Se a taxonomia não funciona ou dá erro ao registrar, veja como corrigir o [erro de taxonomia no JetEngine](https://full.services/wp-fixer/corrigir-erro-taxonomia-jetengine/), porque uma categorização quebrada atrapalha a listagem dos itens depois.

### Passo 4: Cadastre itens de teste

Cadastre alguns itens do novo tipo, preenchendo todos os campos do ACF, porque é com dados reais que você valida se a estrutura faz sentido antes de criar a coleção inteira. Teste cada tipo de campo e veja se algo falta ou sobra na ficha. Ajuste a estrutura enquanto há poucos itens. Cadastrar dados de teste cedo evita descobrir, com cem itens já criados, que faltou um campo essencial ou que um tipo de campo escolhido não comporta bem o dado real que você precisa registrar.

### Passo 5: Exiba os itens no frontend

Monte a exibição dos itens do CPT no frontend, por um template ou um construtor, porque registrar o tipo e preencher os campos não basta: sem a exibição, o conteúdo fica invisível para o visitante. Crie uma listagem dos itens e uma página individual para cada um. Esse é o passo mais esquecido. Se o CPT não aparece no frontend mesmo publicado, veja como corrigir o [CPT do JetEngine que não aparece no frontend](https://full.services/wp-fixer/corrigir-cpt-jetengine-nao-aparece-frontend/), porque um tipo registrado sem exibição não chega ao público.

<p class="wp-caption-text">Legenda: cada passo fecha uma etapa, do registro do tipo à exibição dos itens no site.</p>

## Erros comuns ao criar custom post types

Os três erros mais comuns ao criar Custom Post Types são registrar o tipo e esquecer a exibição, planejar mal os campos e ignorar as taxonomias. O primeiro é o mais frustrante: o tipo é registrado, os itens são cadastrados, mas nunca se monta a listagem nem a página individual, e o conteúdo fica preso no painel, sem chegar ao visitante que deveria vê-lo.

O segundo erro é não planejar os campos antes, e descobrir tarde que falta um dado ou que um campo tem o tipo errado, obrigando a remodelar a estrutura com itens já criados. A correção é planejar a ficha antes de registrar. O terceiro caso é pular as taxonomias, deixando os itens sem como ser agrupados e filtrados. Quando os campos do ACF dão erro de permissão no JetEngine, vale ver como corrigir o [erro de permissão ao criar Custom Fields no JetEngine](https://full.services/wp-fixer/corrigir-erro-permissao-custom-fields-jetengine/).

## Como manter a estrutura de conteúdo organizada

Manter a estrutura de um CPT organizada exige documentar os campos e padronizar o cadastro, porque um tipo de conteúdo com muitos itens só permanece útil se todos seguirem a mesma ficha, sem campos preenchidos pela metade. A consistência é o que faz a coleção valer, com listagem e filtro confiáveis.

Documente o que cada campo significa para quem cadastra, e use valores padrão onde a exibição sempre precisa de algo. Revise a estrutura quando o tipo de conteúdo evoluir, mas com cuidado para não quebrar itens antigos. Quando o conteúdo cresce, a exibição em listagens dinâmicas ganha peso, 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 navegáveis.

## Como a FULL faz isso em escala

A FULL padroniza a criação de Custom Post Types porque acompanha mais de 150 mil sites WordPress, e projetos com conteúdo estruturado, como diretórios e catálogos, aparecem o tempo todo, onde recriar a mesma estrutura de tipo e campos 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 CPT 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 estruturados, a gente vê isso trocar um custo recorrente espalhado por um padrão único: a mesma estrutura de CPT, com campos e taxonomias, é reaproveitada de um projeto para outro, sem remodelar do zero a cada site. É a economia que só aparece quando o stack é o mesmo em toda a base.

## Checklist final do custom post type

O checklist final do Custom Post Type confirma, em uma passada, que a estrutura está completa e visível antes de você criar a coleção inteira. Rode esta lista depois do passo 5 e a cada novo tipo de conteúdo, porque é fácil registrar o tipo e esquecer de montar a exibição.

Antes de declarar pronto, confirme:

- O post type está registrado e visível no painel.
- O grupo de campos do ACF está atribuído ao CPT.
- As taxonomias próprias do tipo foram criadas.
- Os itens de teste têm todos os campos preenchidos.
- A listagem e a página individual aparecem no frontend.
- O slug do tipo é claro e estável, sem precisar mudar depois.
- A estrutura de campos foi validada antes de escalar o cadastro.

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

## Perguntas frequentes sobre criar custom post types com JetEngine e ACF PRO

<details>
  <summary>Por que usar JetEngine e ACF juntos para um CPT?</summary>
  <p>Porque cada um faz bem uma parte. O JetEngine registra o Custom Post Type de forma visual e cria as taxonomias, além de oferecer ferramentas de listagem dinâmica para exibir os itens. O ACF é forte na criação de campos personalizados, com muitos tipos e uma interface refinada para preencher a ficha de cada item. Usar os dois combina o registro e a exibição do JetEngine com os campos sólidos do ACF. É possível usar só um, mas a dupla cobre todo o ciclo, do registro à exibição.</p>
</details>

<details>
  <summary>Preciso programar para criar um Custom Post Type?</summary>
  <p>Não com o JetEngine. Ele registra o post type por uma interface visual, onde você define nome, slug, rótulos e opções sem escrever PHP. O mesmo vale para as taxonomias e para os campos do ACF, todos criados por painel. A programação só entraria em personalizações muito específicas que fogem do que os plugins oferecem. Para a maioria dos projetos, diretórios, catálogos e bases de conteúdo, a dupla JetEngine e ACF cobre o registro, os campos e a exibição sem nenhuma linha de código.</p>
</details>

<details>
  <summary>O que acontece se eu mudar o slug do CPT depois?</summary>
  <p>Mudar o slug do post type depois de criar itens afeta as URLs deles, o que pode quebrar links internos e externos e prejudicar o SEO. As páginas dos itens passam a responder em novos endereços, e os antigos retornam erro se não houver redirecionamento. Por isso vale definir um slug claro e definitivo no registro, pensando na URL final. Se a mudança for inevitável, planeje redirecionamentos dos endereços antigos para os novos, para não perder o tráfego e as referências que já apontavam para o conteúdo.</p>
</details>

<details>
  <summary>O CPT aparece sozinho no site depois de registrado?</summary>
  <p>Não. Registrar o post type cria a área dele no painel e permite cadastrar itens, mas a exibição no frontend precisa ser montada à parte, por um template ou construtor. Sem essa etapa, os itens existem no banco, mas não têm página visível para o visitante, ou aparecem com um layout padrão sem estrutura. Esse é o erro mais comum: achar que o registro basta. Para o conteúdo chegar ao público, monte a listagem dos itens e a página individual, ligando os campos do ACF à exibição.</p>
</details>

## Próximos passos para um site com conteúdo estruturado

Criar Custom Post Types com JetEngine e ACF PRO é, no fundo, dar ao WordPress uma estrutura de conteúdo sob medida e exibi-la: registre o tipo, adicione os campos, crie as taxonomias, cadastre itens de teste e monte a exibição no frontend. Registrar o tipo e esquecer a exibição é o erro que mais deixa conteúdo invisível, então não pule essa etapa. 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-custom-post-types-com-jetengine-e-acf-pro/#article",
      "headline": "Como criar custom post types com JetEngine e ACF PRO",
      "description": "Criar Custom Post Types com JetEngine e ACF PRO é estruturar tipos de conteúdo sob medida no WordPress, como imóveis, profissionais ou receitas, usando o JetEngine para registrar o post type e o ACF p",
      "url": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/",
      "datePublished": "2026-06-21T09:00:00-03:00",
      "dateModified": "2026-06-21T09:00:00-03:00",
      "inLanguage": "pt-BR",
      "articleSection": "Plugins Uteis WordPress",
      "keywords": [
        "criar custom post types com jetengine e acf pro",
        "WordPress Plugins",
        "WordPress Tools",
        "Plugin Development"
      ],
      "author": {
        "@id": "https://full.services/#person-clayton"
      },
      "publisher": {
        "@id": "https://full.services/#org"
      },
      "about": [
        {
          "@type": "Thing",
          "name": "WordPress Plugins"
        },
        {
          "@type": "Thing",
          "name": "WordPress Tools"
        },
        {
          "@type": "Thing",
          "name": "Plugin Development"
        }
      ],
      "mentions": [
        {
          "@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-custom-post-types-com-jetengine-e-acf-pro/"
      },
      "wordCount": 2626,
      "citation": [
        {
          "@type": "CreativeWork",
          "name": "WordPress Developer Docs",
          "url": "https://developer.wordpress.org",
          "publisher": {
            "@type": "Organization",
            "name": "WordPress Developer Docs"
          }
        }
      ]
    },
    {
      "@type": "FAQPage",
      "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#faq",
      "isPartOf": {
        "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#article"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#faq-q1",
          "name": "Por que usar JetEngine e ACF juntos para um CPT?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Porque cada um faz bem uma parte. O JetEngine registra o Custom Post Type de forma visual e cria as taxonomias, além de oferecer ferramentas de listagem dinâmica para exibir os itens. O ACF é forte na criação de campos personalizados, com muitos tipos e uma interface refinada para preencher a ficha de cada item. Usar os dois combina o registro e a exibição do JetEngine com os campos sólidos do ACF. É possível usar só um, mas a dupla cobre todo o ciclo, do registro à exibição.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#faq-q2",
          "name": "Preciso programar para criar um Custom Post Type?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Não com o JetEngine. Ele registra o post type por uma interface visual, onde você define nome, slug, rótulos e opções sem escrever PHP. O mesmo vale para as taxonomias e para os campos do ACF, todos criados por painel. A programação só entraria em personalizações muito específicas que fogem do que os plugins oferecem. Para a maioria dos projetos, diretórios, catálogos e bases de conteúdo, a dupla JetEngine e ACF cobre o registro, os campos e a exibição sem nenhuma linha de código.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#faq-q3",
          "name": "O que acontece se eu mudar o slug do CPT depois?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Mudar o slug do post type depois de criar itens afeta as URLs deles, o que pode quebrar links internos e externos e prejudicar o SEO. As páginas dos itens passam a responder em novos endereços, e os antigos retornam erro se não houver redirecionamento. Por isso vale definir um slug claro e definitivo no registro, pensando na URL final. Se a mudança for inevitável, planeje redirecionamentos dos endereços antigos para os novos, para não perder o tráfego e as referências que já apontavam para o conteúdo.",
            "author": {
              "@id": "https://full.services/#org"
            }
          }
        },
        {
          "@type": "Question",
          "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#faq-q4",
          "name": "O CPT aparece sozinho no site depois de registrado?",
          "inLanguage": "pt-BR",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Não. Registrar o post type cria a área dele no painel e permite cadastrar itens, mas a exibição no frontend precisa ser montada à parte, por um template ou construtor. Sem essa etapa, os itens existem no banco, mas não têm página visível para o visitante, ou aparecem com um layout padrão sem estrutura. Esse é o erro mais comum: achar que o registro basta. Para o conteúdo chegar ao público, monte a listagem dos itens e a página individual, ligando os campos do ACF à exibição.",
            "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 custom post types com JetEngine e ACF PRO",
          "item": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/"
        }
      ]
    },
    {
      "@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-custom-post-types-com-jetengine-e-acf-pro/#howto",
      "isPartOf": {
        "@id": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/#article"
      },
      "name": "Passo a passo: criar custom post types com jetengine e acf pro",
      "description": "Guia passo a passo sobre criar custom post types com jetengine e acf pro para WordPress.",
      "url": "https://full.services/criar-custom-post-types-com-jetengine-e-acf-pro/",
      "totalTime": "PT30M",
      "author": {
        "@type": "Organization",
        "@id": "https://full.services/#org"
      },
      "step": [
        {
          "@type": "HowToStep",
          "position": 1,
          "name": "Passo 1: Registre o post type no JetEngine",
          "text": "No JetEngine, abra a área de Post Types e registre o novo tipo, definindo o nome, o slug e os rótulos que aparecem no painel, porque é esse registro que cria a área própria do conteúdo no WordPress. Escolha um slug claro, que vai compor a URL dos itens. Defina se o tipo é público e aparece na busca. O JetEngine faz isso de forma visual, sem código, então o foco é a clareza do nome e do slug, que serão difíceis de mudar depois sem afetar as URLs já criadas e os links que apontam para elas."
        },
        {
          "@type": "HowToStep",
          "position": 2,
          "name": "Passo 2: Adicione os campos personalizados no ACF",
          "text": "Crie no ACF um grupo de campos com os dados de cada item do CPT, atribuindo o grupo ao post type recém-registrado, porque são esses campos que transformam o tipo vazio em uma ficha estruturada. Use o tipo de campo certo para cada dado: número para preço, texto para nome, seleção para categoria fixa. Atribua o grupo ao CPT na regra de localização. Se os campos do ACF não aparecem no editor do novo tipo, veja como corrigir os <a href="https://full.services/wp-fixer/corrigir-custom-fields-frontend-acf-pro/">Custom Fields que não aparecem no frontend no ACF PRO</a>."
        },
        {
          "@type": "HowToStep",
          "position": 3,
          "name": "Passo 3: Crie as taxonomias para categorizar",
          "text": "Registre, ainda no JetEngine, as taxonomias próprias do CPT, como categorias ou tipos, porque elas organizam os itens e permitem filtrar e listar por grupo. Uma taxonomia de bairro para imóveis, ou de área para profissionais, dá estrutura à navegação. Defina se a taxonomia é hierárquica, como categoria, ou plana, como tag. Se a taxonomia não funciona ou dá erro ao registrar, veja como corrigir o <a href="https://full.services/wp-fixer/corrigir-erro-taxonomia-jetengine/">erro de taxonomia no JetEngine</a>, porque uma categorização quebrada atrapalha a listagem dos itens depois."
        },
        {
          "@type": "HowToStep",
          "position": 4,
          "name": "Passo 4: Cadastre itens de teste",
          "text": "Cadastre alguns itens do novo tipo, preenchendo todos os campos do ACF, porque é com dados reais que você valida se a estrutura faz sentido antes de criar a coleção inteira. Teste cada tipo de campo e veja se algo falta ou sobra na ficha. Ajuste a estrutura enquanto há poucos itens. Cadastrar dados de teste cedo evita descobrir, com cem itens já criados, que faltou um campo essencial ou que um tipo de campo escolhido não comporta bem o dado real que você precisa registrar."
        },
        {
          "@type": "HowToStep",
          "position": 5,
          "name": "Passo 5: Exiba os itens no frontend",
          "text": "Monte a exibição dos itens do CPT no frontend, por um template ou um construtor, porque registrar o tipo e preencher os campos não basta: sem a exibição, o conteúdo fica invisível para o visitante. Crie uma listagem dos itens e uma página individual para cada um. Esse é o passo mais esquecido. Se o CPT não aparece no frontend mesmo publicado, veja como corrigir o <a href="https://full.services/wp-fixer/corrigir-cpt-jetengine-nao-aparece-frontend/">CPT do JetEngine que não aparece no frontend</a>, porque um tipo registrado sem exibição não chega ao público. <p class="wp-caption-text">Legenda: cada passo fecha uma etapa, do registro do tipo à exibição dos itens no site.</p> Os três erros mais comuns ao criar Custom Post Types são registrar o tipo e esquecer a exibição, planejar mal os campos e ignorar as taxonomias. O primeiro é o mais frustrante: o tipo é registrado, os itens são cadastrados, mas nunca se monta a listagem nem a página individual, e o conteúdo fica preso no painel, sem chegar ao visitante que deveria vê-lo. O segundo erro é não planejar os campos antes, e descobrir tarde que falta um dado ou que um campo tem o tipo errado, obrigando a remodelar a estrutura com itens"
        }
      ]
    }
  ]
}
```
