register_post_type() — Registrar Custom Post Type

Time Full Services Time Full Services
Tipo Funções nativas
Nome do erro register_post_type() — Registrar Custom Post Type
Severidade Informativo
Desde WordPress 2.9
Descrição Registra um novo tipo de conteúdo personalizado no WordPress com suporte a labels, capacidades, reescrita de URL e integração com REST API.

Causa

O WordPress por padrão oferece apenas posts e páginas. Conteúdos como produtos, eventos ou portfólios precisam de CPTs dedicados.

Como resolver

Registre sempre no hook init com prioridade baixa (0 ou 1). Defina show_in_rest => true para compatibilidade com o editor de blocos (Gutenberg).

PHP
<?php
add_action('init', function () {
    register_post_type('evento', [
        'labels'       => [
            'name'          => 'Eventos',
            'singular_name' => 'Evento',
            'add_new_item'  => 'Novo evento',
            'edit_item'     => 'Editar evento',
            'menu_name'     => 'Eventos',
        ],
        'public'        => true,
        'has_archive'   => true,
        'rewrite'       => ['slug' => 'eventos'],
        'supports'      => ['title', 'editor', 'thumbnail', 'excerpt'],
        'menu_icon'     => 'dashicons-calendar-alt',
        'menu_position' => 5,
        'show_in_rest'  => true,
    ]);
}, 0);

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 →