Creación de Custom Post Type en WordPress

5/5 - (2 votos)

En muchas ocasiones, una instalación de WordPress básica puede quedar pequeña según que proyecto, por ejemplo nosotros queremos dar de alta productos en modo catalogo y enseñarlos en un apartado de la web, incluso tener nuestro propio apartado de productos en nuestro Menú de wordpress, pero nos encontramos con que nuestro WordPress solo tiene «Entradas y Páginas». ¿Que podemos hacer? Crear Custom Post Types en WordPress.

Una solución sencilla seria crear una categoría de entradas que se llame productos y mostrar solo esa categoría. Pero ahora siendo sinceros ¿Creéis que es la mejor opción? ¿Creéis que es optimo? En este caso deberíamos saber que no es lo más optimo ni lo más recomendable en cuanto a la arquitectura de la información. Cuanto mejor organicemos nuestro contenido más fácil nos resultara saber que es cada cosa, como funciona el sitio web y sobre todo facilitara al cliente final su trabajo si este no tiene conocimientos web avanzados. Por lo tanto os adelantamos que la solución más optima es crear «Custom Post Types».

¿Qué son los Custom Post Types?

Cuando WordPress empezó, tan solo tenia las «entradas». No tenia ni el apartado páginas, ya que WordPress solo servía para crear blogs. Con el tiempo los desarrolladores de WordPress vieron que las funcionalidades que tenían eran escasas y que necesitaban ir más allá, entonces crearon las «Páginas», que son una «especie de post», o bien dicho «Tipo de post» y de ahí viene el «Post Type».

Los Custom Post Types son simplemente tipos de entradas personalizadas que podemos añadir a nuestro WordPress (Una nueva sección dentro del dashboard), con esto conseguiríamos separar el apartado «Entradas» de nuestro apartado personalizado (Ya bien sea productos, libros, revistas, etc.) y no lo mezclaríamos.

En la creación de un Custom Post Type podemos asignarle o quitarle todo lo que queramos (Las páginas se diferencian de los post en que no tienen fecha, no tienen autor, etc.), por lo que seria un apartado hecho a medida con solo la información o campos que necesitamos.

Y eso es lo que son los CPT: Nuevos contenidos que podemos agregar a WordPress, además de las Entradas (posts) y las Páginas (post types).

Ejemplos de Custom Post Types (CPTs)

Un ejemplo de CPT serían los «Productos» de un eCommerce. Si en algun proyecto hemos utilizado WooCommerce, podemos ver que en el menú del Dashboard aparece «Productos». Otros ejemplos pueden darse cuando instalamos alguna plantilla que esta enfocada a la Restauración, es posible que tenga por defecto creado el Custom Post Type «Menús», o algunas plantillas corporativas también pueden incluir un apartado de «Personal o Equipo». Estos apartados, se definen como Custom Post Types.

¿Cómo crear y personalizar los Custom Post Types?

La creación y personalización de Custom Post Types es muy sencilla, tenemos varias opciones para la creación de estos y además cada una tiene su nivel de dificultad (Unas no necesitas conocimientos y otras si), las opciones son las siguientes:

A través de un plugin o plantilla

Como hemos comentado antes, hay ciertos plugins que te crean por defecto al instalarlos, tenemos el caso de WooCommerce, este plugin te crea la sección «Productos» en el dashboard. Es la forma más simple, ya que lo único que tenemos que hacer es instalar y activar el plugin. Hay que tener en cuenta que este plugin no esta destinado a crear CPTs, simplemente es un efecto de los mismos.

La otra opción es coger una plantilla enfocada al sector que te dedicas y posiblemente ya tenga el contenido que deseas como hemos comentado antes.

A través de un plugin de CPTs

Hay una variedad muy amplia de plugins destinados a la creación de CPTs, yo particularmente no utilizo ninguno (ya que prefiero la siguiente opción que explicare), pero cuando empezaba a hacer mis primeros pinitos con WordPress y no tenia grandes conocimientos en esta herramienta utilizaba Custom Post Type UI.

Este si es un plugin destinado a la creación de CPTs, la cual puedes realizar la creación de estas mediante una interfaz gráfica y usarlos en nuestro día a día sin problema ni complicación.

Básicamente tendremos que ir rellenando las opciones y os daréis cuenta de que es muy sencillo (Si no tienes conocimientos avanzados a nivel de código, es tu mejor opción).

Las razones por las cuales esta opción no es mi favorita:

  • En primer lugar porque tenemos que tener ese plugin siempre instalado y activo (si lo desinstalamos, el CPT desaparece) y yo no soy un fiel partidario de utilizar plugins.
  • En segundo lugar, porque afecta al rendimiento de la web en sí, pues no deja de ser un plugin más en nuestra instalación, y todo suma.
  • Y en tercer lugar, porque el menú del plugin esta a la vista, es muy probable que antes o después alguien lo acabe toqueteando, y probablemente, rompiendo algo.

A través de un código

Esta es la opción que personalmente a mi mas me gusta y la que siempre recomiendo. En el caso de que no tengas un alto conocimiento con código, siempre es buen momento para aprender y realizar las tareas de la mejor forma y mas optima.

En primer lugar, siempre debemos ir de la mano del Codex ya que hay muchas cosas las cuales podemos consultar (funciones, etiquetas, etc.).

Creación de un CPT

Para crear un CPT, solo tenemos que añadir en el archivo «functions.php» de nuestra plantilla lo siguiente:

Una vez lo apliquemos, vamos a nuestro Dashboard de WordPress y comprobareis que ya nos aparece «Productos».

Ahora vemos, que esta simple, podemos añadir (una entrada) y ver las entradas que tenemos. Por lo que debemos ir un paso mas adelante, nosotros a parte de tener crear un simple CPT queremos que este también disponga de categorías, ya que nuestros productos los vamos a separar por dos tipos.

Para ello, volvemos a nuestro archivo functions.php y añadimos lo siguiente:

Ahora si vamos a nuestro Dashboard, podemos comprobar que en nuestro CPT aparecen 3 opciones: Todos los productos, Añadir nuevo y Categorías. Pero eso no es todo, vamos a ir otro paso mas adelante, ahora vamos a añadirle a nuestro CPT también «Tags». Ya que cuando estemos en una categoría de productos o dentro de un producto, nos gustaría añadir un widget que mostrara una nube de tags, con todos los que hay disponibles. Añadimos el siguiente código en nuestro functions.php:

Si volvemos a nuestro Dashboard de WordPress, vemos que ya nos aparece también el apartado Tags, donde podremos crear todas las etiquetas para añadirlas a nuestros productos.

Conclusión

Los Custom Post Types como hemos nombrado antes son tipos de contenido personalizado que podemos añadir a nuestro WordPress para organizar nuestro contenido de una forma mas eficiente.

Como hemos visto, podemos crear un CPT con poco conocimiento a nivel de código y personalizarlo a nuestro gusto sin mucha dificultad y/o complejidad. Incluso en algunos themes vienen creados por defecto.

Si tenéis cualquier duda, no dudéis en enviarme un comentario desde este articulo y os lo resolveré con la mayor brevedad posible.

BONUS TRACK: Como gestionar nuestros «productos»

En el próximo articulo iremos un paso más adelante y explicaremos como con funciones del sistema «WordPress» y de la mano del Codex podemos gestionar los datos de nuestros productos. Como podemos por ejemplo mostrar en la página principal de tu página web una sección la cual aparezcan 4 productos aleatorios para promocionarlos y más funcionalidades que te permitirán exprimir WordPress y además con mucha mas eficiencia.

También hablaremos mas profundamente de la web: GenerateWP, ya que es un generador de código, que solo tenemos que rellenar campos para que nos facilite el código que deseemos para incluirlo en nuestro WordPress.

Comparte
¿Quieres más información?
Ponte en contacto con nosotros.
Picture of Javier Hernández
Javier Hernández
Front-end developer - Departamento de desarrollo

8 comentarios en “Creación de Custom Post Type en WordPress

  1. Muy buen tutorial
    pero tengo una consulta: en la BD también se agrega algo, te consulto esto porque realice las instrucciones «Creación de CPT a través de código», me crea todo bonito en el Dashboard de WordPress e inclusive el producto crea pero cuando quiero visualizar el producto creado; wordpress me dice que la pagina no existe

    1. Hola Francisco

      No hay que introducir nada en la base de datos a parte, WordPress de «per se» incluye las herramientas necesarias para que se registre correctamente, y como bien dices, lo registra en el admin.

      Si quieres mostrarlo en el front, sería realizar las queries necesarias contra el type «post-types», resolver una WP_Query y mostrar el loop.

      También, asegúrate que estés incluyendo el slug correctamente del CPT.

    1. Buenos dias Henry

      Si, deberás de crear los 3 por cada Custom Post Type.

      Es decir si tienes productos y tienes eventos (por ejemplo), deberás montar esa estructura de 3 por cada uno de ellos.

      Saludos

    1. Hola Marcelo.

      Sí, nuestra idea es ir desarrollando mucho más todo lo relacionado con los CPT en otros artículos. Te recomendamos seguir nuestras RRSS para que te avise de cualquier novedad que redactemos sobre los CPT u otros temas de WordPress 🙂

      Muchas gracias!

Enviar Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Suscríbete a nuestra newsletter
para estar al día en el mundo online
¿Tienes alguna incidencia?

Cuéntanos qué ocurre
y nos pondremos con ello lo antes posible.

    Este sitio está protegido por reCAPTCHA, y la Política de privacidad y Términos de servicio de Google.

    ¡Cuéntanos tus ideas!
    +34 96 653 19 14
    info@acceseo.com

      Este sitio está protegido por reCAPTCHA, y la Política de privacidad y Términos de servicio de Google.