Domine os tipos de artigos personalizados do WordPress: um guia prático completo, desde a criação até a publicação.

Leitura de 3 minutos
2026-03-17
2026-06-04
2,419
Eu recebo uma comissão quando você faz compras através dos links abaixo, sem custo adicional para você.

O que são tipos de artigos personalizados no WordPress?

O WordPress fornece, por predefinição, dois tipos de conteúdo: “artigos” e “páginas”, mas isso costuma não ser suficiente quando se trata de criar sites complexos. Os tipos de artigos personalizados (Custom Post Type, abreviado como CPT) permitem criar tipos de conteúdo personalizados que podem ser geridos de forma independente dos artigos e páginas normais. CPTÉ uma funcionalidade central do WordPress que permite aos programadores criar novos tipos de conteúdo com estruturas de dados e interfaces de gestão de back-end independentes. Pode considerá-lo como um “modelo de conteúdo” para gerir tipos específicos de informações.

Por exemplo, um site de críticas de filmes pode usar “artigos” por predefinição para escrever notícias e, ao mesmo tempo, criar um tipo de artigo personalizado chamado “filmes” para gerir especificamente as entradas de filmes, cada uma das quais pode incluir campos exclusivos como diretor, elenco, classificação, etc. Um site de comércio eletrónico pode criar o tipo “produtos”, enquanto um site escolar pode criar os tipos “cursos” ou “professores”. Ao utilizar CPTOs diferentes tipos de conteúdo são claramente separados, permitindo uma gestão de dados mais eficiente e proporcionando uma base sólida para a personalização de modelos e a expansão de funcionalidades no futuro.

Como criar um tipo de artigo personalizado

Existem duas formas principais de criar tipos de artigos personalizados no WordPress: usar o registo de código e usar plugins. Para os programadores, dominar a forma de registo de código é crucial, pois proporciona a máxima flexibilidade e controlo, além de facilitar a gestão de versões em temas ou plugins personalizados.

Leitura recomendada Domine completamente os tipos de artigos personalizados do WordPress: desde a criação até práticas de aplicação avançadas.

Registrar tipos de artigos personalizados através de código

A forma mais padrão e recomendada é fazê-lo no tópico. functions.php Usar em um arquivo ou num plug-in de funcionalidade independente. register_post_type O funcionamento do registo do modelo de artigo é o seguinte: o utilizador regista um modelo de artigo através de uma função. Esta função aceita dois parâmetros: o identificador (slug) do tipo de artigo personalizado e uma matriz que contém todos os parâmetros.

Hospedagem para sites WordPress da UltraHost
Garantia de reembolso em 30 dias, largura de banda ilimitada e banco de dados, proteção contra DDoS gratuita; desconto de 50% na compra de 3 anos (planos de 4 TB a 10 TB).

Aqui está um exemplo básico de como criar um tipo de artigo personalizado chamado “Filme”:

function create_movie_post_type() {
    $labels = array(
        'name'               => '电影',
        'singular_name'      => '电影',
        'menu_name'          => '电影管理',
        'add_new_item'       => '添加新电影',
        'edit_item'          => '编辑电影',
        'view_item'          => '查看电影',
    );
    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'movie' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => 5,
        'menu_icon'          => 'dashicons-video-alt',
        'supports'           => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
    );
    register_post_type( 'movie', $args );
}
add_action( 'init', 'create_movie_post_type' );

Este código permite que você obtenha o nome do usuário que está atualmente conectado ao servidor. add_action Os ganchos são executados durante a inicialização do WordPress. create_movie_post_type Função. A função define internamente a exibição de etiquetas. $labels E os parâmetros principais $argsOs parâmetros-chave incluem:public Controlar se é exibido em segundo plano ou em primeiro plano;rewrite Defina as regras de reescrita de URL, aqui o link para aceder a um filme específico será yoursite.com/movie/some-moviehas_archive Decidir se existe uma página de arquivo (como yoursite.com/movie/);supports O array define as funcionalidades suportadas por este tipo de conteúdo, como títulos, editores, imagens em destaque, etc.

\nUsar plugins para criar tipos de artigos personalizados.

Para utilizadores que não estão familiarizados com o código, os plugins são uma excelente opção para começar rapidamente. O Custom Post Type UI e o Toolset Types são dois plugins muito populares. Eles fornecem uma interface de utilizador intuitiva, permitindo-lhe definir através de seleções e preenchimento de formulários. CPT Os vários atributos do , como etiquetas, publicidade, funcionalidades suportadas, etc.

A criação usando plugins é simples e rápida, mas geralmente resulta em consultas adicionais ao banco de dados, e a sua configuração depende do próprio plugin. Quando se trata de migrar o site para outro servidor ou de fazer atualizações significativas, podem ser necessários passos adicionais para garantir que as configurações dos tipos de artigos personalizados sejam preservadas. Por isso, para ambientes de produção ou projetos que exigem manutenção a longo prazo, o registo de código é, geralmente, a opção mais adequada.

Leitura recomendada Guia de desenvolvimento de temas do WordPress: construir um tema personalizado de alta performance do zero

Adicionar campos personalizados para tipos de artigos personalizados.

Os tipos de artigos personalizados, por si só, fornecem apenas uma estrutura básica. Para que possam armazenar informações exclusivas (como a “data de estreia” ou o “realizador” de um filme), é necessário utilizar campos personalizados ou caixas de metadados mais avançadas. O WordPress inclui um painel de “campos personalizados” nativo, mas a sua interface é simples e as funcionalidades são limitadas, não sendo adequado para editores de conteúdo.

\nUsar o plug-in de campos personalizados avançados.

O plugin Advanced Custom Fields (ACC) é o padrão da indústria para lidar com campos personalizados. Ele permite que você crie diferentes tipos de artigos, incluindo o seu, através de uma interface gráfica. CPTCrie vários tipos de grupos de campos, como texto, imagens, caixas de seleção, relações associadas, etc.

Por exemplo, para “filme” CPT Crie um grupo de campos que inclua os campos “Realizador”, “Ator principal” e “Ano de estreia”. Após instalar e ativar o plug-in ACF, aceda à sua página de definições, crie um novo grupo de campos e defina a regra de posicionamento como “Tipo de artigo igual a Filme”. Em seguida, pode adicionar um por um os campos “Realizador” (campo de texto), “Ator principal” (campo de área de texto) e “Ano de estreia” (campo numérico). Após guardar, verá estas caixas de entrada intuitivas ao editar o conteúdo do filme no back-end.

hospedagem compartilhada da hosting.com
Alto desempenho com CPUs AMD EPYC, armazenamento SSD NVMe e LiteSpeed, suporte interno especializado 24 horas por dia, 7 dias por semana, medidas de segurança avançadas, incluindo SSL, força bruta, malware e proteção contra DDoS, economia de até 73%

Criar um quadro de meta-informações personalizado através de código

Se você deseja controlar tudo através do código, pode criar o seu próprio CPT Desenvolver um widget personalizado. Isso envolve a utilização da API de widgets do WordPress e de funções de guardar. Embora a quantidade de código seja grande, oferece total liberdade de personalização.

Aqui está um exemplo simplificado que mostra como adicionar um campo “Diretor” para “Filme”:

// 1. 添加元框
function add_movie_director_meta_box() {
    add_meta_box(
        'movie_director_meta_box', // 元框ID
        '导演信息', // 元框标题
        'render_movie_director_meta_box', // 回调函数,用于输出HTML
        'movie', // 目标文章类型
        'side', // 位置
        'default' // 优先级
    );
}
add_action( 'add_meta_boxes', 'add_movie_director_meta_box' );

// 2. 渲染元框内容
function render_movie_director_meta_box( $post ) {
    // 获取已保存的值
    $director = get_post_meta( $post->ID, '_movie_director', true );
    // 添加安全字段
    wp_nonce_field( 'movie_director_nonce_action', 'movie_director_nonce' );
    // 输出HTML
    echo '<label for="movie_director">导演姓名:</label>';
    echo '<input type="text" id="movie_director" name="movie_director" value="' . esc_attr( $director ) . '" style="width:100%;" />';
}

// 3. 保存元框数据
function save_movie_director_meta_data( $post_id ) {
    // 检查nonce、权限、自动保存等
    if ( ! isset( $_POST['movie_director_nonce'] ) || ! wp_verify_nonce( $_POST['movie_director_nonce'], 'movie_director_nonce_action' ) ) {
        return;
    }
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
        return;
    }
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return;
    }
    // 保存数据
    if ( isset( $_POST['movie_director'] ) ) {
        update_post_meta( $post_id, '_movie_director', sanitize_text_field( $_POST['movie_director'] ) );
    }
}
add_action( 'save_post', 'save_movie_director_meta_data' );

Este código cria um elemento meta na barra lateral, que contém um campo para introduzir o nome do realizador. Tenha em atenção que, aquando da guarda dos dados, é utilizado o processo de verificação de segurança padrão do WordPress, que inclui: nonce Verificar, verificar permissões e evitar processamento repetido durante o salvamento automático. Os dados salvos são transmitidos através de update_post_meta As funções são armazenadas em wp_postmeta Na tabela.

Leitura recomendada Tutorial do plugin WooCommerce: um guia completo desde a instalação e configuração até a operação da loja.

Criar um ficheiro de modelo para um tipo de artigo personalizado.

Foi criado CPT Depois de preencher o conteúdo, é necessário fornecer um modelo para a sua apresentação front-end. O WordPress segue um sistema de hierarquia de modelos e procura automaticamente um ficheiro de modelo específico para mostrar o seu conteúdo.

Modelo de tipo de artigo único

Quando o utilizador acede ao conteúdo de um filme individual (por exemplo, yoursite.com/movie/inceptionQuando você cria uma nova publicação ou página, o WordPress procura os arquivos de modelo na seguinte ordem:
1. single-movie.php (O mais específico)
2. single.php
3. singular.php
4. index.php

Hospedagem Compartilhada InterServer
Hospedagem compartilhada $2.50 USD por mês, primeiro mês $0.1 USD código promocional tryinterserver, 461 scripts de aplicativos em nuvem, instalação com um clique.

Portanto, a melhor prática é criar uma pasta no seu diretório de temas chamada single-movie.php No arquivo, você pode personalizar completamente a forma como o filme é apresentado, invocando os campos personalizados criados anteriormente.

<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
    <header class="entry-header">
        <h1 class="entry-title">\n</h1>
        <div class="entry-meta">
            <span>Realizador:</span>
        </div>
    </header>
    <div class="entry-content">
        
        <!-- 显示其他自定义字段,如主演、上映年份 -->
        <p><strong>Estrelas:</strong><?php the_field( 'lead_actor' ); ?></p>
        <p><strong>Ano de estreia:</strong><?php the_field( 'release_year' ); ?></p>
    </div>
</article>
\n

Se utilizar o plug-in ACF, pode usar o que ele fornece. the_field() A função permite exibir os valores dos campos de forma conveniente. Se os campos forem guardados utilizando código personalizado, devem ser utilizados. get_post_meta() Função.

Modelo de página de arquivo

Quando o utilizador visita a página de lista de filmes (por exemplo, yoursite.com/movie/Quando você publica uma nova postagem no seu blog do WordPress, o WordPress procura:
1. archive-movie.php
2. archive.php
3. index.php

Criar archive-movie.php Um ficheiro, no qual pode utilizar um ciclo do WordPress para listar todos os filmes, e pode personalizar a consulta ou utilizar a paginação.

<h1>Biblioteca de filmes</h1>

    <article>
        <h2><a href="/pt/</?php the_permalink(); ?>">\n</a></h2>
        <?php the_post_thumbnail( 'medium' ); ?>
        <p>Realizador:</p>
        \n
    </article>
<?php endwhile; the_posts_navigation(); else : ?>
    <p>Não há filmes no momento.</p>

resumos

Dominar os tipos de artigos personalizados do WordPress é um passo fundamental para ir além dos blogs simples e criar sites modernos, com muitas funcionalidades e uma estrutura clara. A partir da utilização register_post_type Do registo do código da função, à adição de campos personalizados através do plugin ACF ou da caixa de metadados, e, por fim, à criação de páginas exclusivas de acordo com a hierarquia do modelo. single-{cpt}.php e archive-{cpt}.php O ficheiro do modelo, todo o processo constitui um todo completo. CPT Desenvolver um fluxo de trabalho.

Através da prática, criámos um tipo de conteúdo “Filme”, que tem um menu de back-end independente, campos de dados exclusivos e uma apresentação front-end personalizada. Esta metodologia pode ser aplicada sem problemas a qualquer necessidade de conteúdo, como “Produtos”, “Portefólios”, “Eventos”, etc. Compreender e aplicar estes conhecimentos irá melhorar significativamente as suas capacidades como programador WordPress, permitindo-lhe criar experiências digitais verdadeiramente personalizadas para os utilizadores.

Perguntas frequentes Perguntas frequentes

Qual é a diferença entre tipos de artigos personalizados e taxonomias personalizadas?

Os tipos de artigos personalizados são utilizados para definir uma nova entidade de conteúdo, como “filmes” ou “produtos”. Já as taxonomias personalizadas (como etiquetas ou extensões de catálogos) são utilizadas para classificar e organizar o conteúdo. Um tipo de artigo personalizado pode estar associado a várias taxonomias personalizadas. Por exemplo, o tipo “filmes” pode estar associado às taxonomias "ação", "drama" e "comédia". CPT É possível associar dois taxonomias personalizadas: “Tipo” (ação, comédia) e “Região” (chinês, Hollywood).

Eu deveria registar o CPT no functions.php do tema ou num plugin independente?

Isso depende da complexidade do projeto e dos requisitos de portabilidade. Para projetos que estão intimamente ligados a um tópico específico e não podem ser reutilizados. CPTpode ser colocado no tópico de functions.php No entanto, a melhor prática é criar um plugin de funcionalidade separado para armazenar todo o código de registro de tipos de artigos e taxonomias personalizados. Desta forma, mesmo que você mude de tema, estes tipos de conteúdo e os seus dados serão preservados, permitindo uma melhor separação entre a “funcionalidade” e a “aparência” do site.

Como modificar a estrutura de link fixo de um tipo de artigo personalizado existente?

Você pode se registrar CPT Através de rewrite Os parâmetros também podem ser configurados após o registo. register_post_type_args O filtro foi modificado. Após a modificação, é necessário aceder à página “Definições” -> “Links permanentes” no painel de administração do WordPress e clicar simplesmente em “Guardar alterações” para atualizar as regras de reescrita, caso contrário, a nova estrutura de links poderá não funcionar.

Por que não consigo ver o tipo de artigo personalizado que criei na página inicial?

Isso geralmente ocorre devido a uma configuração incorreta dos parâmetros de registro. Por favor, verifique primeiro a função de registro. $args No array, 'public' e 'publicly_queryable' Todos os parâmetros estão configurados? trueEm segundo lugar, certifique-se de que 'show_ui' e 'show_in_nav_menus' Também para truePor último, verifique o ficheiro do modelo (single-{cpt}.php ou archive-{cpt}.php) foi criado corretamente e está localizado na pasta raiz do tema do evento.