COMO CRIAR UM TIPO DE POST PERSONALIZADO SEM PLUGIN

Uma boa maneira para manter seu tema bem estruturado é deixar tudo organizado. Pensando assim, como gerentes e desenvolvedores WordPress temos a obrigação de criar soluções fáceis e intuitivas para o Painel Administrativo.

Assim, criar tipo de post personalizado ou custom post type, deixa o trabalho e a utilização por meio dos usuários muito mais eficiente. Imaginar que no WordPress podemos criar diversos tipos de post, onde cadastramos informações muito além de conteúdos para postagem é realmente incrível. Hoje você vai aprender, sem utilizar plugins, como criar tipos de post personalizados e deixar seu sistema muito mais avançado, completo e profissional.

Tipo de Post Personalizado

Um tipo de post personalizado ou custom post type é algo simples. Nada mais é que um “clone” da estrutura de Posts que o WordPress utiliza. Existem funções nativas e que nos permitem realizar esse tipo de implementação de forma bastante clara e sem nenhuma dificuldade.

 

Noções Básicas

Quando queremos desenvolver algo novo ou simplesmente alterar algo no Frontend ou Backend do nosso site WordPress, na maioria precisamos utilizar o arquivo functions.php. É nesse arquivo, que está presente em todo e qualquer tema WP, que encontramos todas as funções, ações e comportamentos que costumamos ver na página web.

Vamos utilizar código PHP e funções que a própria equipe de desenvolvimento WordPress nos oferece para criar dentro do nosso site.

 

Cenário de Exemplo

Para exemplificar e deixar esse tutorial mais fácil de explicar e entender, irei utilizar um cenário bastante comum e que pode ser aplicado ou alterado por qualquer um.

Imagine que você necessita de um sistema WordPress para cadastrar Clientes. Sua estrutura para receber conteúdo e informações será relativamente a mesma dos Posts. Todavia, irá existir a área de Clientes e continuará existindo a área para criação de Posts – a qual você pode escolher manter ou não.

 

Acessando o functions.php

Tipo de Post Personalizado - Caminho arquivo functions

Como provavelmente você já viu em tutoriais aqui do CanalWP, é possível acessar o arquivo functions.php para criar e alterar seu WordPress por meio da Dashboard (Aparência > Editor) ou utilizando um editor de código da sua preferência. Para abrir o functions.php e editá-lo utilizando a última opção é necessário que você acesse seu servidor e siga para wp-content > themes > seu tema > functions.php.

 

Criando seu novo tipo de post

Antes de te mostrar o bloco de código PHP que vamos utilizar, bem como a função que faz tudo acontecer, olha só como é o nosso ambiente de testes antes da implementação do novo tipo de post personalizado:

Tipo de Post Personalizado - Dashboard sem alteração

Repare que há apenas itens de menu padrão do WordPress e do tema que estou utilizando. A partir da inserção de código você verá um novo item de menu com o título Clientes.

O bloco de código que segue abaixo possui a função e todas as definições necessárias que vamos utilizar. Copie o mesmo e cole-o no arquivo functions.php do tema que você está utilizando, em seguida salve as alterações e verifique como seu Painel Administrativo WordPress estará.

Clique 2x para copiar
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function create_post_types() {
  $labels = array(
    'name'                => __( 'Clientes', THEMENAME ),
    'singular_name'       => __( 'Cliente', THEMENAME ),
    'add_new'             => __( 'Adicionar Novo', THEMENAME ),
    'add_new_item'        => __( 'Adicionar Novo Cliente', THEMENAME ),
    'edit_item'           => __( 'Editar Cliente', THEMENAME ),
    'new_item'            => __( 'Novo Cliente', THEMENAME ),
    'all_items'           => __( 'Todos Clientes', THEMENAME ),
    'view_item'           => __( 'Ver Cliente', THEMENAME ),
    'search_items'        => __( 'Pesquisar Clientes', THEMENAME ),
    'not_found'           => __( 'Nenhum Cliente encontrada', THEMENAME ),
    'not_found_in_trash'  => __( 'Nenhum Cliente no Lixo', THEMENAME ),
    'menu_name'           => __( 'Clientes', THEMENAME ),
  );
  $supports = array( 'title', 'editor' );
  $slug = get_theme_mod( 'cliente_permalink' );
  $slug = ( empty( $slug ) ) ? 'cliente' : $slug;
  $args = array(
    'labels'              => $labels,
    'public'              => true,
    'publicly_queryable'  => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'query_var'           => true,
    'rewrite'             => array( 'slug' => $slug ),
    'capability_type'     => 'post',
    'has_archive'         => true,
    'hierarchical'        => false,
    'menu_position'       => 4,
    'supports'            => $supports,
  );
  register_post_type( 'cliente', $args );
}
add_action( 'init', 'create_post_types' );

Entendendo o Código

Tipo de Post Personalizado - Dashboard com novo tipo de post personalizado

Nós estamos utilizando a função create_post_types para criar o nosso novo tipo de post personalizado ou custom post type. Depois disso, por meio do add_action chamamos a função acima para que seja executada.

Chamo sua atenção para a linha em que aparece ‘menu_position’ => 4 – ela é utilizada para definir qual o posicionamento no menu da Dashboard. Você pode utilizar um numeral ou “null” para não configurar posição.

Quando chegamos na linha com register_post_type(‘cliente’ – $args) – é quando realmente registramos o nosso tipo de post personalizado, enviando as configurações que definimos.

Para que esse código se adapte perfeitamente ao seu site WordPress, onde está escrito “Clientes” ou “Cliente” você pode alterar pelo título que desejar.

 

Se você gostou desse artigo considere compartilhar nas redes sociais. Siga-nos nas redes sociais para acompanhar mais artigos como esse. Se de alguma forma este artigo lhe foi útil deixa seu comentário abaixo para podermos saber a sua opinião.

AVALIE GORA MESMO!
More from William Freitas

7 PERGUNTAS DE MARKETING DE CONTEÚDO RESPONDIDA PARA EMPREENDEDORES

Como você chegou até o meu site? A maioria dos visitantes o...
Read More

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *