Cómo crear custom post types

votaraddthis

Ya tratamos anteriormente las diferenciaras entre custom post types, taxonomies y fields, hoy vamos a profundizar más en los custom post types. Si necesitamos una entrada especial para nuestro sitio como pueden ser libros o cualquier otro producto, escritores o cualquier otra profesión, miembros de la organización o empresa, proyectos para un portfolio, eventos para calendarios o necesidades similares; WordPress sale a nuestro rescate.  Vamos a ver un poco de código, intentaré ser breve, y plugins para crear y desarrollar los custom types que queramos.

Implementar Custom Post Types en WordPress

Plugins para crear custom post types

Para los impacientes que quieren crear ya su propio modelo de entrada o, simplemenre, no están interesados en en explicaciones técnicas vamos a empezar con los plugins. Éstos tienen como base una función que desarrollaron en WordPress que permite crear nuevos tipos de posts y, por ende, más tipos de contenido: register_post_type().

Custom Post Type UI

Este plugin nos facilitará la vida implementado cómodamente los tipos de post que nos interese. Al crea un nuevo modelo nos preguntará nombre interno del post para WordPress (el número máximo para el nombre interno de la entrada personalizada es 20 caracteres, sin mayúsculas ni espacios en blanco), su plural, su singular y una descripción. Escogemos si las nuevas entradas se pueden agrupar por archivos personalizados o usa el nativo de WordPress. En este caso tendríamos que echar mano de un programador que nos ayudara a diseñar la nueva plantilla de archivo. Asimismo,  aparte de editar, añadir excerpt, comentarios o custom field entre los campos a seleccionar también podemos añadir imagen destacada, revisiones, autor, atributos de página y formatos del post. Por si eso no fuera poco también podemos clasificar los nuevos tipos mediante etiquetas y categoría en su jerarquía.

Types

No me he quedado a mitad de escribir el nombre del plugin, es así de corto. Además de crear entradas personalizadas, permite crear taxonomías y campos individualizados. Por razones del post, nos centraremos en la parte de custom post. Las opciones de configuración son similares al plugin anterior. Asimismo, dispone de opciones para reescribir los permalinks, colgar o no en el menú, excluir de búsquedas y la posibilidad de ser exportable.

Pods

Esta aplicación está rodeada de una red de plugins de soporte y apoyo para intentar destacar sobre la competencia. Creamos las entradas personalizadas con las posibilidades muy parecidas a los dos anteriores. Permite importar y exportar los custom posts creados a otros WordPress. Dispone de opciones avanzadas con las urls con una interfaz adsequible. Podemos asignar roles y capacidades a los usuarios del blog para que puedan editar y crear los pods. Asimismo, tiene un addon potente para crear plantillas ad hoc para los custom posts.

Creando custom types mediante código

Si tenéis ganas de trastear en el código de nuestro sitio, podemos intentar implementar manualmente. Para ello, iremos al fichero functions.php de nuestro tema y realizamos una copia de seguridad. Al final del mismo, añadimos el siguiente código. El ejemplo lo realizo con películas para que se comprenda mejor.

add_action( ‘init’, ‘my_custom_init’ ); /* Definimos la configuración como si estuviéramos en un plugin*/

function my_custom_init() { $labels = array(

‘name’ => _x( ‘Películas’, ‘post type general name’ ),

‘singular_name’ => _x( ‘Película’, ‘post type singular name’ ),

 ‘add_new’ => _x( ‘Añadir nueva’, ‘book’ ),

‘add_new_item’ => __( ‘Añadir nueva película’ ),

‘edit_item’ => __( ‘Editar película’ ),

‘new_item’ => __( ‘Nuevo película’ ),

‘view_item’ => __( ‘Ver película’ ),

‘search_items’ => __( ‘Buscar películas’ ),

‘not_found’ =>  __( ‘No se han encontrado películas’ ),

‘not_found_in_trash’ => __( ‘No se han encontrado películas en la papelera’ ),

‘parent_item_colon’ => ”     );

/* Añadimos las capacidades que comentábamos antes como imagen destacada, revisiones, autor, atributos de página y formatos del post, si está jerarquizado como las categoría o si no lo está como las etiquetas, añadir al menú… */

$args = array( ‘labels’ => $labels,         ‘public’ => true,         ‘publicly_queryable’ => true,         ‘show_ui’ => true,         ‘query_var’ => true,         ‘rewrite’ => true,         ‘capability_type’ => ‘post’,         ‘hierarchical’ => false,         ‘menu_position’ => null,         ‘supports’ => array( ‘title’, ‘editor’, ‘author’, ‘thumbnail’, ‘excerpt’, ‘comments’ )     );

register_post_type( ‘pelicula’, $args ); /* El número máximo para el nombre interno de la entrada personalizada es 20 caracteres, sin mayúsculas ni espacios en blanco */

No os asustéis con tanto código, si lo leemos despacio ons daremos cuenta que estamos configurando los parámetros para el custom type. Entre un poco de inglés, la información en el codex de WordPress de entradas personaliadas y el registro de nuevos posts saldremos adelante. Si queremos profundizar más aquí tenemos unas funciones del core WordPress sobre custom post types.

Conclusión

Hemos visto o bien por plugins o bien manualmente podemos crear y desarrollar nuevos tipos de entradas sin muchas dificultades. WordPress podrá ser básico, pero en seguido encontramos información para ampliar y sacar todo el jugo que puede llegar a tener. Entonces, ya conocemos nuevos métodos para adquirir nuevas entradas personalizadas en nuestra web.

¿Habéis empleado alguno de los plugins mencionados? ¿Habéis creado directamente un custom post type con código? Dejad vuestras experiencias a la comunidad.