WordPress: Criando post type “sem plugin”

Veja como é fácil criar um tipo de post personalizado para site WordPress!

Muito se fala em problemas de segurança envolvendo a plataforma WordPress, em sua maioria causados pela instalação de plugins desconhecidos. Particularmente não gosto de instalar plugins que agregam funções simples ao WP, tais como essa que escrevo nesse post.

Em nosso exemplo vamos criar um post type para cadastro de produtos:

  • Criar uma pasta chamada produto dentro de wp-content/plugins;
  • Criar 2 arquivos php dentro da pasta produto, index.php e functions.php

No arquivo index.php colocamos o seguinte conteúdo:

/*
Plugin Name: Produtos
Description: Adiciona um post type de produto
Author: Thiago Furlan
*/

require 'functions.php';
add_filter('gettext', 'tfp_custom_title_produto');
add_action('init', 'tfp_custom_post_produto');

E no arquivo functions.php:

function tfp_custom_title_produto($input) {
global $post_type;
if( is_admin() && 'Digite o título aqui' == $input && 'produto' == $post_type )
return 'Nome do produto';
return $input;
}

function tfp_custom_post_produto() {
$labels = array(
'name' => __('Produtos'),
'singular_name' => __('Produto'),
'add_new' => __('Cadastrar produto'),
'add_new_item' => __('Cadastrar produto'),
'edit_item' => __('Editar produto'),
'new_item' => __('Novo produto'),
'all_items' => __('Todos os produtos'),
'view_item' => __('Ver produto'),
'search_items' => __('Buscar produtos'),
'featured_image' => __('Imagem de destaque'),
'set_featured_image' => __('Adionar imagem de destaque')
);

$args = array(
'labels' => $labels,
'description' => 'Descrição',
'public' => true,
'menu_position' => 5,
'supports' => array(
'title', 'editor', 'thumbnail', 'excerpt', 'custom-fields'
),
'has_archive' => true,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'query_var' => 'produto'
);
register_post_type('produto', $args);
}

Agora nosso plugin de custom post type estará disponível para ser ativado na página de plugins do seu site. Ative-o e Produtos aparecerá no menu lateral.

Os custom post types em conjunto com o famoso plugin ACF (Advanced Custom Fields)  adicionam muitas possibilidades ao seu site WordPress.

Deixe uma resposta