Blog and Web

Tipos de posts con WordPress 3.0

Los tipos de posts o tipos de entradas, son una de las nuevas características más atractivas de WordPress 3.0, pronto a lanzarse.

Un blog normal funciona a la perfección con los posts tradicionales, pero cuando se amplia a contenido con distinta estructura o temática, crear una nueva clasificación puede ser de gran ayuda. Esa nueva clasificación se puede hacer con los tipos de post personalizados en WordPress 3.0.

¿Cómo crear nuevos tipos de posts?

Los tipos de posts se crean con una nueva función: register_post_type, a la cual se le pasan por parámetros las características de los nuevos tipos.

Ejemplo: Supongamos que un blog de música se agrega un nuevo tipo de post para capturar letras de canciones, entonces se crea un nuevo panel para ello:

$args = array(
        'label' => __('Letras'), //Nombre del tipo de post
        'singular_label' => __('Letra'), //Sigular del nombre
		'description' => __('Letra de canciones'), //Descripción
        'public' => true, 
        'show_ui' => true, //Mostrar en el panel

        'hierarchical' => false,
        'rewrite' => true, //Reescribir los permalinks
        'query_var' => 'letras',
        'supports' => array('title', 'editor', 'author', 'custom-fields', 'comments') //Características permitidas
);
register_post_type( 'Letras' , $args );

Ahora, se puede crear una taxonomía propia para este tipo de posts, es decir, en lugar de escoger entre categorías del blog, se seleccionarían nombres de discos y cantantes, esto se puede crear fácilmente con la función register_taxonomy():

function tipo_post_letras() {

// Agregar categorías especificas para este tipo de post.
	register_taxonomy( 'discos', 'Letras', array( 'hierarchical' => true, 'label' => __('Discos') ) );

// Agregar tags especificas para este tipo de post.
        register_taxonomy( 'cantante', 'Letras',
		array(
			'hierarchical' => false,
			'label' => __('Cantante'),
			'query_var' => 'cantante',
			'rewrite' => array('slug' => 'cantante' )
		)
	);
}
add_action('init', 'tipo_post_letras');

El resultado de este código es nuevo panel con este tipo de entradas:

Muy recomendable revisar tanto la función register_post_type() y register_taxonomy() para conocer su funcionamiento y darle un uso correcto.

Nota: Nuevamente, esto funciona solo en la versión 3.0, que por ahora, solo esta disponible la versión beta (de prueba), que nos recomendable usar en línea, sino en pruebas.

Conclusión

Crear distintos tipos de posts era una de las cateréticas que WordPress necesitaba para ser un CMS propiamente dicho. Ya era posible usarlo como CMS gracias a los condicionales, pero su programación no era exactamente sencilla. Un paso positivo y muy esperado de WordPress.

Pero, para quienes no usaran estas características, ¿WordPress no se esta volviendo algo robusto para crear un blog personal?