Nuestro Blog

Manuel Piquer Estudio

Cómo crear un CPT en sólo 1 minuto con sus taxonomías

En este tutorial os vamos a contar el proceso que seguimos para crear los CPT’s personalizados en WordPress en nuestro Estudio Creativo.

En el diseño web con WordPress existen muchas opciones para crear Custom Post Types, lo más sencillo suele ser generarlo mediante generatewp.com  o bien utilizar plugins como Custom post type ui

Ambas soluciones cumplen su cometido pero cierto es que no es una buena práctica a la hora de desarrollar ya que la opción del plugin genera «lock in» y no puedes desactivarlo sin que se pierda la funcionalidad y la opción de generateWP es un poco tedioso tener que rellenar todos los campos manualmente.

Nosotros le hemos dado la vuelta y creamos nuestro CPT directamente en funtions.php

/*
Código para crear un CPT de PAGINA
 dejamos listo el codigo POST TYPE  para copiar y pegar en funtions.php
*/

add_action( ‘init’, ‘init_cursos’ );

// función para crear el nuevo espacio cursos.

function init_cursos() {
$labels = array(
‘name’ => _x( ‘Cursos’, ‘post type general name’ ),
‘singular_name’ => _x( ‘Curso’, ‘post type singular name’ ),
‘add_new’ => _x( ‘Crear nuevo’, ‘curso’ ),
‘add_new_item’ => __( ‘Crear nuevo Curso’ ),
‘edit_item’ => __( ‘Editar Curso’ ),
‘new_item’ => __( ‘Nuevo Curso’ ),
‘view_item’ => __( ‘Ver Curso’ ),
‘search_items’ => __( ‘Buscar Curso’ ),
‘not_found’ => __( ‘No se han encontrado Cursos’ ),
‘not_found_in_trash’ => __( ‘No se han encontrado Cursos en la papelera’ ),
‘parent_item_colon’ => »
);

// Creamos un array para $args

$args = array( ‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘query_var’ => true,
‘rewrite’ => true,
‘capability_type’ => ‘post’,
‘hierarchical’ => false,
‘menu_icon’ => ‘dashicons-admin-page’,
‘map_meta_cap’ => true,
‘menu_position’ => 22,
‘supports’ => array( ‘title’, ‘editor’, ‘author’, ‘thumbnail’, ‘excerpt’, ‘comments’ )
);
// Y lo registramos
register_post_type( ‘curso’, $args );
}
/*
FIN 

Si continuas el Código conviertes el CPT de PAGINA en un CPT tipo BLOG con sus Categorias
*/

// Crear una taxonomía personalizada
function crear_tipo_cursos() {

$labels = array(
‘name’ => _x( ‘Tipo’, ‘tipo’ ),
‘singular_name’ => _x( ‘Tipo’, ‘taxonomy singular name’ ),
‘search_items’ => __( ‘Buscar por Tipo’ ),
‘all_items’ => __( ‘Todas los tipos’ ),
‘parent_item’ => __( ‘Tipo padre’ ),
‘parent_item_colon’ => __( ‘Tipo padre:’ ),
‘edit_item’ => __( ‘Editar Tipo’ ),
‘update_item’ => __( ‘Actualizar Tipo’ ),
‘add_new_item’ => __( ‘Crear Tipo’ ),
‘new_item_name’ => __( ‘Nuevo Tipo’ )
);

register_taxonomy( ‘tipo’, array( ‘curso’ ), array(
‘hierarchical’ => true,
‘labels’ => $labels,
‘show_ui’ => true,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘tipo’ )
));
}
add_action( ‘init’, ‘crear_tipo_cursos’, 0 );
/*
FIN
*/

Este código es completo y sirve para poner en practica la construcción de los Custom Post Type en WordPress.

 

Otros Articulos