🎉 USE O CUPOM DESCONTO.FULL | 20% OFF acima de R$ 50,00

Como corrigir os Custom Post Types do JetEngine que não aparecem no frontend

Time Full Services Time Full Services
Tipo Page Builders
Nome do erro Custom Post Types do JetEngine não aparecem no frontend EN: JetEngine CPT not showing on frontend
Severidade Grave
Descrição CPT JetEngine que não aparece no frontend quase sempre vem de Public ou Has archive desligados no Post Type, ou de regras de reescrita desatualizadas. Marcar essas opções e regravar os permalinks resolve.

O que é CPT JetEngine que não aparece?

JetEngine registra cada Custom Post Type (CPT) chamando a função register_post_type do WordPress por baixo dos panos. Quando você cria o post type pelo painel mas os itens não abrem no site (single retorna 404, ou o arquivo do post type não existe), o problema está nos argumentos que o JetEngine passou para essa função ou nas regras de reescrita (rewrite rules) do WordPress, que ficaram em cache desatualizado depois de criar ou renomear o post type.

Como identificar

  • Ao abrir um item do CPT no site aparece a mensagem ‘Página não encontrada’ ou erro 404, mesmo com o post publicado e visível no painel.
  • A URL do arquivo do post type (por exemplo /imoveis/) retorna 404 ou cai na home, em vez de listar os itens.
  • O Listing Grid montado no Elementor exibe os itens corretamente, mas clicar no item leva a uma página 404.
  • No menu do JetEngine em JetEngine -> Post Types o post type aparece, mas a coluna de visibilidade ou o link ‘Ver’ não abre nada no frontend.

Como prevenir

  • Ao criar um post type novo, já marque Public, Has archive e Has single page antes de cadastrar conteúdo, para nunca publicar itens sem URL no frontend.
  • Sempre regrave os permalinks em Configurações -> Links permanentes logo após criar ou renomear um post type ou seu slug de reescrita.
  • Reserve slugs de reescrita exclusivos para os CPTs e evite reaproveitar o slug de páginas institucionais como /serviços/ ou /produtos/.
  • Depois de migrar o site ou trocar de host, abra Links permanentes e salve para reconstruir as regras de reescrita dos post types do JetEngine.

Causa

  • A opção Public está desmarcada nas configurações do Post Type no JetEngine. Sem ela o WordPress define publicly_queryable como false e nenhuma URL do single ou do arquivo é resolvida no frontend.
  • A opção Has archive está desligada, então a página de arquivo do post type (a listagem em /slug/) simplesmente não é registrada e retorna 404.
  • As regras de reescrita (rewrite rules) ficaram em cache antigo: o post type foi criado ou teve o slug alterado, mas os permalinks não foram regravados, então o WordPress ainda não conhece a rota nova.
  • O slug de reescrita do post type colide com o slug de uma página, post ou categoria já existente (por exemplo um CPT com slug serviços e uma página /serviços/), e o WordPress resolve a URL para a página, não para o CPT.
  • A opção Has single page está desligada no post type, então os itens individuais não têm URL própria e qualquer link para o single cai em 404.

Como resolver

  1. Abra as configurações do Post Type no JetEngine: No painel do WordPress acesse o menu do JetEngine e abra o post type que não aparece para revisar as opções de visibilidade que vão para o register_post_type.
    JetEngine -> Post Types -> (clique no post type) -> aba Advanced settings
  2. Ative Public, Has archive e Has single page: Nas configurações avançadas do post type marque as três opções que liberam a navegação no frontend e salve. Public libera as queries públicas, Has archive cria a página de listagem e Has single page dá URL própria a cada item.
    Public: Yes
    Has archive: Yes
    Has single page: Yes
  3. Confira que o slug de reescrita é único: Ainda nas configurações avançadas verifique o campo Rewrite slug do post type e garanta que ele não é igual ao slug de nenhuma página, post ou categoria existente. Se houver colisão, troque o slug do post type por um valor exclusivo e salve.
    Rewrite slug: imoveis-cpt
  4. Regrave os permalinks para limpar as regras de reescrita: Depois de salvar o post type vá às configurações de Links permanentes e clique em Salvar alterações sem mudar nada. Isso força o WordPress a executar flush_rewrite_rules e registrar a rota nova do CPT.
    Configurações -> Links permanentes -> Salvar alterações
  5. Limpe o cache e teste a URL do item: Limpe qualquer cache de página (plugin de cache, CDN ou host) e abra novamente um item publicado do post type e a URL do arquivo. O single e o arquivo devem carregar sem 404.
    https://seusite.com.br/imoveis-cpt/
PHP
add_action( 'init', function () {
    // Diagnóstico: confirme como o JetEngine registrou o CPT.
    // Se 'public' ou 'has_archive' vierem false, a correção é na UI (passos 2).
    $pt = get_post_type_object( 'imoveis' ); // troque pelo slug do seu CPT
    if ( $pt ) {
        error_log( 'public: ' . var_export( $pt->public, true ) );
        error_log( 'has_archive: ' . var_export( $pt->has_archive, true ) );
        error_log( 'publicly_queryable: ' . var_export( $pt->publicly_queryable, true ) );
        error_log( 'rewrite slug: ' . var_export( $pt->rewrite['slug'] ?? null, true ) );
    }
}, 99 );

Perguntas frequentes

Por que meu CPT do JetEngine retorna 404 só no frontend
Na maioria dos casos a opção Public ou Has single page está desligada no post type, ou os permalinks não foram regravados após criar o CPT. Ative as duas opções nas configurações avançadas e salve as alterações em Configurações -> Links permanentes para reconstruir as regras de reescrita.
Preciso regravar os permalinks toda vez que crio um post type
Sim. O WordPress só registra a rota nova do CPT quando as regras de reescrita são reconstruídas. Como o JetEngine nem sempre dispara esse flush sozinho, abrir Configurações -> Links permanentes e clicar em Salvar alterações é o passo que garante que o single e o arquivo passem a resolver.
Qual a diferença entre Has archive e Has single page no JetEngine
Has archive cria a página de listagem do post type, acessível em /slug/, enquanto Has single page dá uma URL própria a cada item individual. Se só o single estiver quebrado, revise Has single page. Se a listagem do post type some, revise Has archive.
O Listing Grid mostra os itens mas o clique leva a 404, por quê
O Listing Grid lê os posts direto do banco e por isso renderiza mesmo sem URL pública. O 404 ao clicar indica que o single não tem rota: ative Has single page e Public no post type e regrave os permalinks para que cada item ganhe URL própria.
Meu CPT cai numa página existente em vez do conteúdo certo
Isso é colisão de slug de reescrita: o post type usa o mesmo slug de uma página, post ou categoria, e o WordPress resolve a URL para o item mais antigo. Troque o Rewrite slug do post type por um valor exclusivo nas configurações avançadas e salve os permalinks.
Mudei o slug do post type e tudo quebrou, como recuperar
Trocar o slug invalida as regras de reescrita antigas. Vá a Configurações -> Links permanentes e clique em Salvar alterações para reconstruir as rotas com o slug novo. Se você indexou as URLs antigas, configure um redirecionamento 301 do slug antigo para o novo.
Onde fica a opção Public nas configurações do JetEngine
Em JetEngine -> Post Types, clique no post type e abra a aba Advanced settings. As opções Public, Has archive, Has single page e o Rewrite slug ficam nesse painel avançado. Marque as que precisar e salve o post type antes de regravar os permalinks.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes