WordPress nació como un sistema de gestión de contenidos específico para blogs, por eso en sus inicios sólo era capaz de manejar un tipo de publicaciones: las entradas. Evidentemente, el tiempo mostró que eso no era suficiente y WordPress agregó un nuevo «tipo de post», las páginas.
Sin embargo no hizo falta mucho para ver que el sistema seguía quedándose corto, sobre todo cuando WordPress comenzó a generalizarse no sólo para blogs, y comenzaron a salir plugins que extendían sus funcionalidades mucho más allá. Por eso a partir de WordPress 3.5 se introdujo el concepto de custom post types (CPT), tipos de post personalizados.
Tabla de contenidos
Qué son los custom post types
Desde WordPress 3.5, como decía. Y fue una auténtica revolución: ya no hacía falta ceñirse a posts o a páginas, se podía tener un tipo de post personalizado.
Y ¿qué es eso exactamente? Pues ni más ni menos que lo que parece: un tipo de post con las características que tú quieras. Y me refiero a cualquier tipo de característica que quieras:
- Puede ser jerárquico (como las páginas) o no jerárquico (como las entradas)
- Puede tener o no capacidad para incluir una imagen destacada
- Puede contar con sus propias taxonomías, compartir las de las entradas (categorías, etiquetas) o simplemente no soportar taxonomías (como las páginas)
- Puede estar incluido o excluido de las búsquedas de WordPress
- Puede ser temporal (es decir, generar archivos) como las entradas, o ser tiempo-independiente, como las páginas
Y no sólo eso, hay mil cosas más: pueden ser públicos o privados, exportables mediante la herramienta de exportación de WordPress o no, soportar título, contenido, extracto, comentarios, revisiones… ¡100% personalizados!
Ejemplos de custom post types
A lo mejor el concepto te suena un poco raro explicado así, pero estoy seguro de que tú ya conoces algunos custom post types, seguro.
De hecho, a poco que uses unos cuantos plugins en tu instalación de WordPress, estoy seguro de que alguno de ellos está haciendo uso de esta característica y, por lo tanto, tienes algunos tipos de post personalizados en tu propia web.
A ver si te suena alguno de estos:
- Los productos de WooCommerce
- Los pedidos de WooCommerce (sí, los pedidos son también otro tipo de CPT)
- Los cupones de WooCommerce (me temo que éstos también lo son)
- Las descargas de Easy Digital Downloads
- Los portfolios creados por algunos plugins de este tipo
En fin, los hay por docenas. Yo mismo, en esta instalación que estoy usando ahora mismo, puedo contar en el menú a mi izquierda al menos seis tipos de custom post types (algunos de ellos creados por mí mismo), aparte de las páginas y de las entradas, que son los que incluye WordPress por defecto.
Venga, echa un vistazo al menú a la izquierda de tu web. ¿Eres capaz de identificar algún custom post type? ¡Seguro que sí! Si tienes dudas, pincha en la opción, y fíjate en la dirección en la barra del navegador. En los CPT verás algo así como:
http://www.tuwebsuperchula.com/wp-admin/edit.php?post_type=nombre_del_CPT
¿No te suena esa estructura de URL? Anda, ve al listado de páginas de tu web (Páginas > Todas las páginas) y fíjate… Sí, ya te dije que las páginas de WordPress nacieron como un tipo de entrada especial. En realidad, eso es lo que son.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Cómo crear nuestros propios custom post types
Crear un CPT es muy sencillo a través de código, basta con utilizar un action hook como éste:
function ejr_crea_cpt () {
$args = array(
'public' => true,
'label' => 'Nombre del CPT'
);
register_post_type ('cpt', $args);
}
add_action ('init', 'ejr_crea_cpt');
No te preocupes si te suena a chino. En realidad nunca usarás algo así si no eres desarrollador. Porque, además, esa función es la mínima necesaria para crear un CPT, pero como tienen tantísimas opciones normalmente hay que incluir muchos más elementos en el array.
De nuevo, no te preocupes por todo eso, ya que normalmente sólo se crean así cuando se van a incluir en un plugin. En realidad hay una forma mucho más sencilla de crearlos si sólo los quieres para usarlos en tu propia web: el plugin Custom Post Type UI.
Con este plugin podrás crear tus propios CPT de forma muy fácil, rápida e intuitiva, sin necesidad de saber PHP, conocer las funciones de WordPress, hooks…
Todo esto, ¿para qué?
Y ¿para qué ibas a querer crear un CPT? Bueno, pues porque es una forma genial de estructurar la información en una web. Si sólo quieres tener un blog con categorías no lo necesitas pero, ¿y si quieres tener otros tipos de contenido?
Ahí tienes, por ejemplo, mis plugins. Con su propia URL, su propia página de edición y con las características que yo quiero ponerle.
O si quieres crear tus propias secciones, de forma que puedas estructurar tu web yendo más allá de las categorías y las etiquetas. Lo cierto es que, una vez que te acostumbras a trabajar con tipos de post personalizados, ya no puedes pasar sin ellos.
Karlosn dice
Hola Enrique, es posible mostrar como resultado de una busqueda el autor del post?
Enrique J. Ros dice
Hola Karlos
Si creas tú mismo la query (o modificas la que aplica WordPress) por supuesto que sí. Hay plugins que te ayudarán, pero en general necesitarás conocimientos de programación en WordPress, tanto para generar/modificar la consulta como para mostrar el dato.
Un saludo
Karlos dice
Ok, gracias por la respuesta. Tienes algun plugin de referencia?
yenny viloria dice
hola Enrique . hay algo que necesito realizar. yo necesito conectar la base de datos de un supermercado con la base de datos de wordpress en este caso con woo comenrce. todo lo que yo venda por la web debe deberia descargarse automaticamente del inventario del super.. el detalle esta es que la tabla de productos de woo comenrce no la crea de una manera ordenada con los nombres de los productos , no hay una tabla que me guarde los productos con sus nombres y su codigo todo lo hace de manerfa desordenada y no se com realizar esa maodificacion en
woocomer.
necesito crear esa tabla que cuando yo cargue los productos desde wordpress se gurde en esa tabla nueva y desde alli pueda yo cargar el inventario de productos.