Crear Custom Post en Wordpress

Función Php para crear y definir un Costom Post Type personalizado en Wordress
Php, Wordpress

Crear un Custom Post por en Wordpress es relativamente sencillo con un poco de conocimiento de PHP. Voy a mostrar los pasos necesarios para poder tener un tipo de Post personalizado (Custom Post) en Wordpress, sin usar Plugins.

Actualmente Wordpress trae dos tipos: las paginas y las entradas.

Necesitaremos modificar el archivo funtions.php y crear un nuevo archivo php para mostrar el contenido del Custom Post.

Editar archivo funtions.php:

function cp_portfolio() {
	$labels = array(
		'name'               => __( 'Portfolios' ),
		'singular_name'      => __( 'Portfolio' ),
		'add_new'            => __( 'Añadir nuevo' ),
		'add_new_item'       => __( 'Añadir nuevo item),
		'edit_item'          => __( 'Editar Portfolio' ),
		'new_item'           => __( 'Nuevo Portfolio' ),
		'all_items'          => __( 'Todos los Portfolios' ),
		'view_item'          => __( 'Ver Portfolios' ),
		'search_items'       => __( 'Buscar Portfolios' ),
		'not_found'          => __( 'No se encontraron portfolios' ),
		'not_found_in_trash' => __( 'No se encontraron portfolios en la paperlera' ), 
		'parent_item_colon'  => '',
		'menu_name'          => 'Portfolios'
	);
	$args = array(
		'labels'        => $labels,
		'description'   => 'Post para publicarlos trabajos realizados',
		'public'        => true,
		'menu_position' => 4,
		'supports'      => array( 'title', 'editor', 'thumbnail' ),
		'has_archive'   => true,
	);
	register_post_type( 'portfolio', $args );	
}
add_action( 'init', 'cp_portfolio' );

Crearemos un nuevo archivo php para mostrar las entradas que pertenecen al nuevo tipo llamado porfolio. El nombre debe seguir unas condiciones. Mi tipo de archivo, como se ve en la línea 26, se llama portfolio.

register_post_type( 'portfolio', $args );

Nuestro archivo tiene que llamarse: single-nombreelegido.php (hay otra opción: archive-nombreelegido.php).

Nuestro archivo se llamará single-portfolio.php

Vista de los portfolios del panel de Administración
Vista de los portfolios del panel de Administración
Lista de trabajos de portfolios creados
Lista de trabajos de portfolios creados
Single portfolio php
Single portfolio php
Template portfolio page
Template portfolio page