Como criar um tipo de postagem personalizado do WordPress programaticamente
Publicados: 2021-10-05Deseja publicar tipos de postagem personalizados em seu site? Estamos protegendo você. Neste guia, ensinaremos como criar um tipo de postagem personalizado do WordPress programaticamente com um pouco de código.
Inicialmente, o WordPress foi criado para publicar posts. No entanto, depois de todos esses anos, o WordPress é muito mais do que uma plataforma para publicar posts. Hoje em dia, é a solução web mais completa que alimenta quase 40% de todos os sites.
Apesar de ter incorporado muitas funcionalidades, a publicação de posts ainda é uma das melhores formas de atrair usuários para o seu site e mantê-los engajados. O WordPress oferece tipos de postagem padrão, mas se você deseja personalizar seu site e torná-lo único para se destacar de seus concorrentes, criar tipos de postagem personalizados pode ser uma boa solução.
Neste tutorial, mostraremos como criar e publicar tipos de postagem personalizados do WordPress programaticamente . Antes de entrarmos nisso, vamos entender melhor o que exatamente são os tipos de postagem personalizados e quando você deve usá-los.
O que é um tipo de postagem personalizado?
Os tipos de postagem personalizados são tipos de conteúdo. O WordPress vem com vários tipos de postagem por padrão. Posts e páginas são os mais famosos, mas existem outros:
- Postagens
- Páginas
- Anexos
- Menus de navegação
- Revisões
- CSS personalizado
- Conjuntos de alterações
A maioria dos usuários usa os cinco primeiros tipos, mas existem outros tipos. Na verdade, você provavelmente está usando alguns deles sem saber que são tipos de postagem personalizados.
O melhor exemplo de um tipo de postagem personalizado são os produtos WooCommerce. Quando você ativa o WooCommerce pela primeira vez, o plugin cria um tipo de postagem personalizado chamado “Produtos”. Quando você começa a criar produtos, eles são publicados como um tipo de postagem de produto, apresentando todos os aprimoramentos que o WooCommerce oferece.
Mesmo que esses tipos de postagem não sejam chamados de personalizados, você pode criar seus tipos de postagem da mesma maneira que o WooCommerce faz e dar a eles o nome desejado. Por exemplo, eventos, listagens, agendas, aulas, portfólios e perfis podem ser nomes de tipos de postagem que serão úteis para sites específicos.
Em suma, os tipos de postagem personalizados são um novo tipo de postagem que os usuários podem criar de acordo com requisitos específicos para personalizar seu site.
Por que e quando você deve usar um tipo de postagem personalizado?
Os tipos de postagem personalizados (CPT) podem ser muito diferentes dependendo de como são criados, portanto, você pode usá-los para obter todos os tipos de soluções.
Você pode usar tipos de postagem personalizados quando:
- Você vai postar regularmente algum tipo específico de informação que você não pode publicar usando o tipo de postagem padrão
- Necessidade de diferenciar um determinado tipo de posts dos padrões
- Precisa mudar o comportamento de algum tipo de postagem
- Deseja personalizar os recursos de postagem, processo de publicação e elementos ou aplicar algum recurso especial a eles
Como regra geral, você deve usar o CPT em um site WordPress quando precisar de diferentes tipos de postagens com seus recursos ou comportamento personalizado.
Os tipos de postagem personalizados são diferentes dos tipos de postagem padrão, portanto, exigem um tratamento especial sem precisar substituir os recursos de tipo de postagem padrão. Esta é uma grande vantagem quando você precisa de diferentes tipos de postagem, porque você pode criar um tipo de postagem personalizado do zero que atenderá exatamente aos seus requisitos.
Agora que entendemos melhor o que são e quando usá-los, vamos ver como criar tipos de postagem personalizados.
Como criar um tipo de postagem personalizado do WordPress programaticamente
Nesta seção, mostraremos como criar um tipo de postagem personalizado no WordPress com um exemplo. Antes de começar, certifique-se de fazer backup do seu site e criar um tema filho, caso ainda não tenha um.
Em seu dashboard vá em Appearance > Theme Editor , abra o arquivo functions.php do tema filho na coluna da direita e cole o script a seguir. Ele registrará um tipo de postagem personalizado chamado filmes .
function QuadLayers_custom_post_type() { // Definir rótulos de interface do usuário para o tipo de postagem personalizada $ etiquetas = array( 'name' => _x( 'Filmes', 'Nome geral do tipo de postagem', 'storefront' ), 'singular_name' => _x( 'Movie', 'Post Type Singular Name', 'storefront' ), 'menu_name' => __( 'Filmes', 'vitrine' ), 'parent_item_colon' => __( 'Parent Movie', 'storefront' ), 'all_items' => __( 'Todos os filmes', 'vitrine' ), 'view_item' => __( 'Visualizar filme', 'vitrine' ), 'add_new_item' => __( 'Adicionar novo filme', 'vitrine' ), 'add_new' => __( 'Adicionar novo', 'vitrine'), 'edit_item' => __( 'Editar filme', 'vitrine' ), 'update_item' => __( 'Atualizar filme', 'vitrine' ), 'search_items' => __( 'Pesquisar filme', 'vitrine' ), 'not_found' => __( 'Não encontrado', 'vitrine' ), 'not_found_in_trash' => __( 'Não encontrado na lixeira', 'storefront' ), ); // Defina outras opções para o tipo de postagem personalizada $args = array( 'label' => __( 'filmes', 'vitrine' ), 'description' => __( 'Notícias e resenhas de filmes', 'vitrine' ), 'etiquetas' => $etiquetas, 'supports' => array( 'título', 'editor', 'excerto', 'autor', 'miniatura', 'comentários', 'revisões', 'campos personalizados', ), 'taxonomias' => array( 'gêneros' ), 'hierárquico' => falso, 'público' => verdadeiro, 'show_ui' => verdadeiro, 'show_in_menu' => verdadeiro, 'show_in_nav_menus' => verdadeiro, 'show_in_admin_bar' => verdadeiro, 'menu_position' => 5, 'can_export' => verdadeiro, 'has_archive' => verdadeiro, 'exclude_from_search' => false, 'publicly_queryable' => verdadeiro, 'capability_type' => 'postagem', 'show_in_rest' => verdadeiro, ); // Registrando seu tipo de postagem personalizada register_post_type( 'filmes', $args ); } add_action( 'init', 'QuadLayers_custom_post_type', 0 );
Depois de colar o código, uma nova guia chamada Filmes aparecerá no painel de administração do WordPress.
Se você abri-lo, verá que o editor de postagem é o mesmo que os tipos de postagem padrão, porque definimos os mesmos argumentos para a tela do editor de postagem. Então, como sabemos que é o editor de tipo de postagem personalizado? Porque na URL e no título da página, você pode ver o tipo de postagem Filmes.
Agora que você viu o resultado final, vamos analisar o código, para que você possa entender melhor o que cada seção faz.
Explicação do código
Acabamos de ver como criar um tipo de postagem personalizado do WordPress programaticamente. Mas isso é apenas metade do que você precisa saber. Se você quiser criar seus próprios tipos de postagem, precisará personalizar o código. E para isso, você precisa entender o que cada parte do snippet faz.
Usamos o gancho wp_init()
para garantir que nossa função seja executada uma única vez: quando o WordPress for iniciado. Em nossa função QuadLayers_custom_post_type()
, existem três partes.
1) Etiquetas
Estes são um conjunto de strings que o tema usará em diferentes páginas de administração e frontend. Isso é definido em uma única matriz:
$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
);
2) Opções
Estas são algumas opções predefinidas que definem o comportamento e alguns outros recursos do nosso tipo de postagem personalizado ( filmes ).
Cada opção é uma instrução específica que definirá como nosso tipo de postagem personalizado irá agir. Os mais relevantes são:
- 'supports': Define quais componentes serão usados no editor de posts
- 'taxonomias': você pode aplicar uma ou mais categorias existentes ou categorias personalizadas a todos os CPTs registrados na função atual
- ' 'hierárquico' : as postagens não podem ter conteúdo pai e isso diferenciará o CPT das páginas. Defina isso como verdadeiro se você quiser publicar uma página personalizada em vez de um tipo de postagem personalizado
- ' show_in_admin_bar': Exibe a guia CPT no painel de administração do WordPress
Para a lista completa de todos os argumentos e sua descrição, confira esta documentação.
3) Registro de tipo de postagem personalizado
A função do WordPress register_post_type() finalmente registrará nosso novo tipo de postagem personalizado e o definirá para que esteja pronto para uso.
Agora que você entende melhor o código, pode começar a publicar seus tipos de postagem personalizados. Mas além de publicá-los, você desejará exibir seu CPT em algum lugar. Vamos ver como fazer isso.
Como exibir tipos de postagem personalizados no WordPress
Até agora, vimos como criar um tipo de postagem personalizado programaticamente no WordPress. Depois de publicá-lo, você deve decidir onde irá exibi-lo.
Existem várias maneiras de imprimir um CPT no front-end. Você pode exibir uma lista completa de tipos de postagem personalizados específicos em outra postagem, página, barra lateral ou em qualquer outro local que desejar.
No script de exemplo a seguir, criaremos um código de acesso personalizado para exibir todos os tipos de postagem personalizados que criamos usando a função anterior em uma nova página.
O script a seguir criará um shortcode chamado Movies , que imprimirá todos os filmes que adicionarmos ao nosso CPT em qualquer página onde adicionarmos o shortcode.
add_shortcode('movies', 'QuadLayers_display_cpt_shortcode'); function QuadLayers_display_cpt_shortcode(){ $args = array( 'post_type' => 'filmes', 'posts_per_page' => 10 ); $the_query = new WP_Query( $args ); if ($the_query->have_posts()): while ( $the_query->have_posts() ): $the_query->the_post(); $c= the_title( sprintf( '<h2 class="entry-title">', esc_url( get_the_title() ) ), '</h2>'). '<div class="entry-content">'. o conteúdo(). '</div>'; fim; wp_reset_postdata(); senão: $c = 'Desculpe, nenhuma postagem correspondeu aos seus critérios.'; fim se; retorna $c; }
Então, se você colocar o shortcode em uma página:
Você verá o resultado:
Conclusão
Em resumo, vimos que, por padrão, o WordPress inclui alguns tipos de postagem, mas você pode adicionar tipos de postagem personalizados dependendo de seus requisitos para personalizar seu site.
Neste guia, mostramos como você pode criar um tipo de postagem personalizado do WordPress programaticamente. Analisamos o snippet e descrevemos cada seção para que você possa personalizá-lo e usá-lo em seu site. Além disso, vimos como criar um código de acesso personalizado que permite exibir seus tipos de postagem personalizados em qualquer lugar do site.
Você já tentou criar tipos de postagem personalizados em seu site? Deixe-nos saber sua experiência na seção de comentários.
Para personalizar outras áreas do seu site, confira os seguintes tutoriais:
- Como adicionar campos de upload personalizados ao WooCommerce
- Como adicionar campos personalizados ao checkout
- Guia para editar campos de checkout do WooCommerce