Páginas y entradas son los tipos de contenido que WordPress proporciona por defecto. Pero, ¿sabías que puedes añadir más tipos de contenido diferentes a tu WordPress?
Hoy hablaremos de los tipos de contenido personalizado que podemos incluir en WordPress. Desde que salió WordPress 3.0 tenemos la posibilidad de ampliar el abanico de contenidos disponibles. Pero, ¿cuándo necesitamos hacer esto? Pues todo dependerás de cómo quieras organizar los contenidos de tu web.
¿Cuándo crear un tipo de contenido personalizado en WordPress?
Imagínate que tienes una web en WordPress y quieres tener un blog para contar tus experiencias. Pues aquí el concepto de entrada te permite conseguir lo que quieres. ¿Y si además quieres añadir varias páginas extra como la de contacto, la página principal, etc? No hay problema: WordPress también permite por defecto crear páginas.

Ahora te vuelves un cocinillas y quieres abrir una nueva sección en tu web con las recetas de tu abuela. Si va a ser un tema temporal, simplemente crearás una página donde pondrás esas recetas, o incluso una entrada en tu blog. Pero si la cosa va a más, deberías crear el tipo de contenido Recetas y así cada una de tus recetas tendrá su lugar y se comportará como una entrada específica dentro de este tipo de contenido. Además, así te quedará todo bien organizado y separado del resto de páginas y de las entradas de tu blog.
Cómo crear un tipo de contenido personalizado en WordPress con código PHP
Para crear el tipo de contenido personalizado (custom post type, en inglés) que quieras, tienes varias opciones a seguir. La más conveniente es crear un plugin para tu WordPress que incluya la definición de estos tipos de contenido. De esta forma, cambies o no de tema, el plugin seguirá siempre en tu web y la definición de los tipos de contenido personalizado se mantendrá activa.
Para crear un tipo de contenido personalizado en WordPress hacemos uso de la función register_post_type
. Puedes encontrar su definición y ejemplos de uso en el Codex de WordPress (la documentación de referencia para todo aquel programador de WordPress).
En el siguiente fragmento tienes el código mínimo para poder crear un tipo de contenido personalizado (en este caso para Recipe, «receta» en inglés). Como ves, no es demasiado complejo, ¿verdad?
Si metes este código en tu WordPress, tendrás como resultado algo igual a la captura anterior. Al incluir un nuevo tipo de contenido personalizado en WordPress aparecerá un nuevo menú en el Escritorio con el tipo de contenido. Aunque puedes personalizar este comportamiento y hacer que ese menú no aparezca (entre otras muchas cosas más).
La función register_post_type
tiene un montón de parámetros que puedes utilizar para que el tipo de contenido personalizado que estás creando funcione de una forma u otra. Entre los más importantes tienes los siguientes:
show_ui
: si no quieres que el tipo de contenido aparezca en la interfaz de WordPress, pon unfalse
en el valor de este parámetro opcional. Relacionado con este tienesshow_in_menu
si no quieres que se cree el menú del tipo de contenido en el Escritorio de WordPress.exclude_from_search
: si no quieres que en los resultados de las búsquedas de tu web aparezcan contenidos de este tipo, pon untrue
en este parámetro opcional.hierarchical
: si el valor estrue
, el tipo de contenido se comporta como una página, permitiendo tener una jerarquía de contenidos y subcontenidos. Si el valor esfalse
, no hay jerarquía, como en las entradas de un blog.show_in_rest
: si el valor estrue
, el tipo de contenido será accesible desde la REST API de WordPress, y además podrás editarlo usando Gutenberg. En caso de querer lo contrario, pon unfalse
aquí.supports
: permite definir si el tipo de contenido soporta título, contenido, autores, imágenes destacadas, etc. De esta forma puedes definir qué elementos se cargarán cuando vayas a editar el contenido concreto. Si permites soporte de autores e imágenes destacadas, al editar verás las cajas para seleccionar un autor y una imagen destacada. Tienes toda la información aquí.labels
: incluye todas las etiquetas que puedes ver en la interfaz de WordPress para el tipo de contenido. De esta forma puedes internacionalizarlo.
Si quieres poder modificar todos estos parámetros sin dejarte nada y de forma sencilla, lo más recomendable es que visites GenerateWP, una web que de forma sencilla te permite generar el código para crear el tipo de contenido personalizado en WordPress. A través de varias pestañas puedes ir rellenando un formulario que va modificando el código resultante.

Una vez acabes, lo copias y lo pegas en tu plugin para WordPress y listo. Ya tienes tu tipo de contenido personalizado funcionando. El resultado incluye todo y tiene una pinta tal que así:
Crear tipos de contenido personalizado en WordPress con un plugin
Crear un tipo de contenido personalizado en WordPress si no tienes nociones de programación puede ser complejo, pero por suerte para ti existen plugins que se encargan de facilitarte el trabajo. Aunque hay varios, el que yo siempre he usado y recomiendo es Custom Post Type UI.
Sólo tienes que instalarlo y activarlo en tu WordPress para empezar a crear tus tipos de contenido personalizado sin ver código por ningún lado. Verás un nuevo menú en el Escritorio de WordPress desde donde podrás crear el tipo de contenido personalizado con un formulario que, aunque es bastante largo ya que hay muchas opciones, está bien explicado con descripciones útiles.

Además, entre sus funciones cabe destacar la posibilidad de exportar e importar la definición de tipos de contenido personalizado. Por lo que siempre puedes mover esto de una web a otra. Incluso te permite obtener el código PHP en caso de que quieras dejar de usar el plugin y utilizar directamente el código tal y como vimos en la sección anterior de este artículo. Tienes mucha versatilidad utilizándolo, lo que se agradece bastante.

Nelio Content
Estoy tan contento con Nelio Content que parece que me hayan pagado para hablar bién de él… pero es que también a ti te encantará: funciona como prometen, la programación automática de mensajes es increíble, la calidad/precio no tiene parangón y su equipo de soporte se siente como si fueran parte del tuyo.

Panozk
Resumen final
Los tipos de contenido personalizado expanden aún más si cabe las posibilidades que podemos conseguir hoy en día con WordPress. Si no los conocías, te animo a que los pruebes y que le des un par de vueltas a la estructura de contenidos de tu web. Es muy posible que usando tipos de contenido personalizado puedas organizar todo de forma mucho más inteligente e interesante.
Ten cuidado con los tipos de contenido personalizado que incluyen algunos temas. Si usas esos tipos de contenido y luego cambias de tema y el nuevo tema ya no define los mismos tipos de contenido, simplemente se dejarán de ver en tu web en WordPress. De hecho, no se verán ni en el frontal para tus visitantes ni en el Escritorio para tus usuarios (editores, autores, etc.). Será como si nunca hubieran existido, y eso no es algo que quieras. Por eso deberías tener la definición de tus tipos de contenido en un plugin propio para tu web, como ya te comenté anteriormente.
Imagen destacada de Hosea Georgeson en Unsplash.
Deja una respuesta