Como criar Custom Post Type no WordPress – Guia para Iniciantes

Guia prático para iniciantes de como criar Custom Post Type no WordPress através do arquivo functions.php ou usando um plugin específico.

Este post foi atualizado pela última vez há mais de 3 meses.

Sem dúvidas o WordPress é a plataforma mais personalizável e intuitiva que existe nas interwebs. E dentre todas essas funcionalidades, está a sua capacidade de criar Custom Post Type (Tipo de Post Personalizado), fazendo com que o WordPress se adapte ao seu projeto e não o contrário.

Para um bom entendedor, o Custom Post Type permite definir conteúdos exclusivos, que vão muito além dos posts e páginas tradicionais que o WordPress oferece tradicionalmente. Abrindo, assim, um mundo de novas possibilidades para um site ou blog desenvolvido para WP.

Neste artigo vamos ensinar de forma prática, simples e fácil como criar e personalizar o Custom Post Type sem a necessidade de conhecimento avançado de programação.

Como criar Custom Post Type no WordPress - Guia para Iniciantes

Mas antes de começarmos, salientamos que é importante que você tenha acesso ao arquivo functions.php do seu template WordPress ou, caso prefira, instalar um plugin de personalização.

O que é Custom Post Type

Custom Post Type é uma funcionalidade do WordPress que permite criar e gerenciar tipos de conteúdos personalizados. Basicamente é uma forma de organizar e exibir informações extras de uma forma mais elaborada e de acordo com as necessidades de um site.

Com uma interface muito semelhante aos posts e páginas existentes, esta função é muito útil para apresentar diferentes conteúdos regulares, como produtos à venda em uma loja virtual Woocommerce, por exemplo.

Além disso, com o Custom Post Type é possível criar campos personalizados como título, categoria, tags, descrição e qualquer outro campo extra que seja de sua necessidade.

Criando Custom Post Type usando functions.php

A primeira coisa a se fazer é definir o que se deseja criar com o Custom Post Type. Então, para este nosso guia prático para iniciantes, vamos criar um tipo de post personalizado para uma seção fictícia chamada “Biblioteca”.

Dentro deste CPT (Custom Post Type) teremos alguns campos personalizados que vamos chamar de (1) título, (2) autor, (3) editora e (4) imagem de capa.

Partindo do princípio de que você saiba como editar o functions.php, faça um backup de segurança deste arquivo e, em seguida, adicione e salve o código abaixo:

function cjnet_custom_post_type() {
    $labels = array(
        'name'               => 'Biblioteca',
        'singular_name'      => 'Livro',
        'menu_name'          => 'Livros',
        'name_admin_bar'     => 'Livro',
        'add_new'            => 'Adicionar Novo',
        'add_new_item'       => 'Adicionar Novo Livro',
        'new_item'           => 'Novo Livro',
        'edit_item'          => 'Editar Livro',
        'view_item'          => 'Ver Livro',
        'all_items'          => 'Todos os Livros',
        'search_items'       => 'Buscar Livros',
        'parent_item_colon'  => 'Livros Pai:',
        'not_found'          => 'Nenhum livro encontrado.',
        'not_found_in_trash' => 'Nenhum livro encontrado na lixeira.'
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array( 'slug' => 'livro' ),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'supports'           => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'revisions' ),
        'taxonomies'         => array( 'category', 'post_tag' )
    );

    register_post_type( 'biblioteca', $args );
}
add_action( 'init', 'cjnet_custom_post_type' );
Code language: PHP (php)

O código acima define absolutamente todas as configurações necessárias para o Custom Post Type para a sua biblioteca online.

Por exemplo, nos parâmetros de array $labels são especificadas todas as etiquetas de nomes que são usadas para exibir cada um dos elementos disponíveis no CPT.

No array $args é onde podemos personalizar ainda mais as funções e a aparência e, dentre os principais parâmetros, estão:

  • 'public' => true: Permite que o CPT seja público e acessível para todos;
  • 'show_ui' => true: Permite a exibição do CPT no menu lateral do painel de controle do WP;
  • 'rewrite' => array( 'slug' => 'livro' ): Permite definir o slug personalizado da URL da sua biblioteca;
  • 'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments', 'custom-fields', 'revisions' ): Especifica quais recursos e funções estão disponíveis para o CPT da sua biblioteca;
  • 'taxonomies' => array( 'category', 'post_tag' ): Define quais os tipos de taxonomias estão associadas ao Custom Post Type da sua biblioteca que, para este caso, são categorias e tags.

Enfim, após adicionar este código ao arquivo functions.php e salvá-lo, navegue até o seu painel de controle do WordPress e atualize a sua dashboard.

Uma nova seção vai aparecer no menu lateral com o nome “Biblioteca”. Agora basta clicar neste item para começar a adicionar novos livros, da mesma forma que faria com os posts e páginas nativas do WordPress.

Criando Custom Post Types usando um plugin

Se você não entende absolutamente nada de códigos ou prefere a utilização de um plugin específico, nossa recomendação é usar o Custom Post Type UI para WordPress.

Com uma interface intuitiva e bem simples, o CPTUI permite criar e gerenciar todos os tipos de posts personalizados que você precisar para o seu site ou blog. Inclusive, este plugin também funciona com o novo editor de blocos, deixando a criação de um Custom Post type ainda mais fácil.

Conclusão

Fazer uso de Custom Post Type no WordPress é uma ótima maneira de tornar seu layout ou template WP ainda mais flexível e adaptado ao seu negócio ou projeto.

Mas antes de realizar qualquer tipo de modificação no seu arquivo functions.php, lembre-se de fazer um backup de segurança. Desta forma você sempre estará seguro caso alguma coisa dê errado.

Enfim, experimente criar um CPT e sinta como esta funcionalidade pode turbinar ainda mais o seu WordPress.

Fica a dica!


Foto: Markus Winkler via Unsplash.

Quero ser cliente da PortoFácil! Entre em contato

Leia também

Textos que têm a ver com este assunto:
TUTORIAL: como resolver erros e problemas no WordPress

Tutorial de como resolver os principais erros e problemas relacionados ao WordPress. Confira nosso passo a passo detalhado de soluções!

Novidades do WordPress 6.7.1

Conheça todas as novidades do WordPress, incluindo melhorias e aprimoramentos em segurança, desempenho e acessibilidade.

Como criar custom fields ou campos personalizados no WordPress

Saiba como criar e gerenciar campos personalizados no WordPress, agregando mais valor ao conteúdo do seu site de forma simples e prática!