Blog

Como criar novos post types em WordPress

custom post type / médio

Como criar novos post types em WordPress

Acontece que precisamos além de artigos cadastrar outras coisas no site. Pode ser resenhas dos nossos clientes, funcionários da empresa ou imóveis, ou carros para venda. E este novo cadastro deve ter vários dados diferentes do padrão do post do WordPress. Como fazer isso?

Suponhamos, que precisamos cadastrar os professores de uma escola particular. Cada professor terá um nome, descrição sobre ele e foto. Depois vamos adicionar também campo para contato.

Para isso no arquivo functions.php vamos escrever seguinte código

add_action('init', 'wp_profs');
function wp_profs()
{
	register_post_type('profs', array(
		'labels'             => array(
			'name'               => 'Profs',
			'singular_name'      => 'Profs',
			'add_new'            => 'Adicionar novo',
			'add_new_item'       => 'Adicionar novo professor',
			'edit_item'          => 'Editar professor',
			'new_item'           => 'Novo professor',
			'view_item'          => 'Ver professor',
			'search_items'       => 'Procurar prof',
			'not_found'          => 'Não encontrado',
			'not_found_in_trash' => 'Não encontrado',
			'parent_item_colon'  => '',
			'menu_name'          => 'Profs'

		),
		'public'             => true,
		'menu_icon'           => 'dashicons-location-alt',
		'has_archive'        => true,
		'supports'           => array('title', 'editor', 'thumbnail'),
		'show_in_rest' => true,
		'taxonomies'  => array('category'),
	));
}

O que temos neste código? Primeiramente cadastramos o novo post type, e em baixo configuramos ele. Em menu_icon podemos escolher qualquer ícone deste site https://developer.wordpress.org/resource/dashicons/#admin-media

Em supports definimos quais campos padrões o post type terá. Em nosso caso precisamos de título para nome, editor para descrição e thumbnail para imagem do professor.

Show_in_rest permite nos usar o Gutenberg editor. Mas se quiser usar o classic editor pode ignorar essa parte ou deixar com valor false. Taxonomies podem ser category ou/e tags. Se precisar cadastrar tags também, escreva depois de vírgula. Cadastrar taxonomies adicionais também podemos, mas em uma outra função.

Pronto. Agora no admin do WordPress irá aparecer um novo item no menu e você poderá cadastrar tantos professores quanto precisar. Agora, o que precisamos fazer para adicionar um novo campo para este post type? Eu uso plugin ACF (additional custom fields). Como usar ele leia aqui

Agora como que aparece no site os nossos cadastros de professores? Primeiramente, depois que cadastrar pelo menos um professor, precisa ir nas configurações -> links permanentes, não faça nenhuma alteração, simplesmente clique em salvar. Agora no menu deve aparecer página de todos os professores e de cada um professor. Se não criar arquivos especializados para os nossos professores, o WordPress usa arquivos archive.php e single.php. Mas se quiser que essas páginas tenham layout diferente, crie os arquivos archive-profs.php e single-profs.php

Leave your thought here

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