geral@slap.pt
+351 917502470

WORDPRESS: Criar um Custom Post Type manualmente

Uma das maiores vantagens do WordPress são os Custom Post Types (CTP) que estão disponíveis para utilização desde a versão 3.0.

Um CTP nada mais é do que uma post normal com um valor post_type diferente na base de dados. O tipo de post regular é artigo, páginas usam página, anexos usam anexo e assim por diante.

No exemplo em baixo criámos um CTP chamado Edições com um conjunto de opções para etiquetas e arquivo:

function my_post_type() {

	$labels = array(
		'name'                  => _x( 'Edições', 'Post Type General Name', 'text_domain' ),
		'singular_name'         => _x( 'Edição', 'Post Type Singular Name', 'text_domain' ),
		'menu_name'             => __( 'Edições', 'text_domain' ),
		'name_admin_bar'        => __( 'Edições', 'text_domain' ),
		'archives'              => __( 'Arquivo Edições', 'text_domain' ),
		'attributes'            => __( 'Atributos Edições', 'text_domain' ),
		'parent_item_colon'     => __( 'Parent Item:', 'text_domain' ),
		'all_items'             => __( 'Todas as Edições', 'text_domain' ),
		'add_new_item'          => __( 'Adicionar Nova Edição', 'text_domain' ),
		'add_new'               => __( 'Adicionar Nova', 'text_domain' ),
		'new_item'              => __( 'Nova Edição', 'text_domain' ),
		'edit_item'             => __( 'Editar', 'text_domain' ),
		'update_item'           => __( 'Atualizar', 'text_domain' ),
		'view_item'             => __( 'Ver', 'text_domain' ),
		'view_items'            => __( 'Ver Todas', 'text_domain' ),
		'search_items'          => __( 'Procurar', 'text_domain' ),
		'not_found'             => __( 'Não encontrada', 'text_domain' ),
		'not_found_in_trash'    => __( 'Não encontrada no lixo', 'text_domain' ),
		'featured_image'        => __( 'Imagem destaque', 'text_domain' ),
		'set_featured_image'    => __( 'Definir Imagem de Destaque', 'text_domain' ),
		'remove_featured_image' => __( 'Remover Imagem de Destaque', 'text_domain' ),
		'use_featured_image'    => __( 'Usar como Imagem de Destaque', 'text_domain' ),
		'insert_into_item'      => __( 'Inserir', 'text_domain' ),
		'uploaded_to_this_item' => __( 'Carregar', 'text_domain' ),
		'items_list'            => __( 'Lista', 'text_domain' ),
		'items_list_navigation' => __( 'Navegação na Lista', 'text_domain' ),
		'filter_items_list'     => __( 'Filtrar', 'text_domain' ),
	);
	$args = array(
		'label'                 => __( 'Edição', 'text_domain' ),
		'description'           => __( 'Edições do Jornal das Caldas', 'text_domain' ),
		'labels'                => $labels,
		'supports'              => array( 'title' ),
		'taxonomies'            => array( 'category', 'post_tag' ),
		'hierarchical'          => false,
		'public'                => true,
		'show_ui'               => true,
		'show_in_menu'          => true,
		'menu_position'         => 5,
		'show_in_admin_bar'     => true,
		'show_in_nav_menus'     => true,
		'can_export'            => true,
		'has_archive'           => true,
		'exclude_from_search'   => false,
		'publicly_queryable'    => true,
		'capability_type'       => 'page',
	);
	register_post_type( 'edicao', $args );

}
add_action( 'init', 'my_post_type', 0 );

A partir daqui é possível usar o dashboard do WordPress para criar conteúdo específico para este CTP.

Os CTP podem também ser criados através de um plugin como o CTP UI que em conjunto com o ACF (Advanced Custom Fields) são uma ferramenta muito util na criação de conteúdo especifico como a nossa base de conhecimento.

Tags: |

Se tiver dificuldade em resolver um problema relacionado com este ou outro tópico, contacte-nos!

Temos sempre uma solução para si!

geral@slap.pt
(+351) 917 502 470