WordPress puede almacenar y mostrar muchos tipos de contenido. Una unidad de este contenido es lo que denominamos «post» y todos ellos son guardados en una misma tabla de base de datos llamada wp_posts
(Si me hubiesen dado a elegir yo hubiese llamado a esta tabla wp_entities
). Estos registros de contenido se diferencian solamente por una columna llamada post_type
que especifica el tipo de dato al que pertenece. De esta manera una entrada de blog tiene el tipo de post «post», una página tiene el tipo de post «page» y una imagen que adjuntamos a un artículo tiene el tipo de post «attachment»(entre otros que existen en el core). Lo bueno de WordPress es que nos permite extender esta funcionalidad para crear nuestros propios tipo de post. Son los denominados «Custom Post Types» o «Tipos de post personalizados».

Tipos de Posts en la base de datos de WordPress
Por ejemplo: Si tienes una web de dentistas podrías tener un CPT (Custom Post Type) «Pacientes», si tienes una web para una librería podrías tener un CPT «Libros», si tiene una web para promocionar tus servicios Freelance podrías tener un CPT para tu «Portfolio» o si tienes una web para una concesionaria podrías tener un CPT «Coches». Ya vas pillando la idea, ¿No?
Cada una de estas entidades compartirán los mismos campos que vienen por defecto en las «Entradas» o «Páginas»: Título, descripción, etiquetas, categorías, fecha de escritura, estado de la publicación, permalink, etc etc. También se pueden agregar campos específicos utilizando un plugin llamado ACF (Advanced Custom Field).
El problema está en que para crear Custom Post Type necesitamos saber de programación PHP y no todos somos desarrolladores. Hay personas que se apañan buscando temas de WordPress relacionados con la temática del proyecto y que ya tienen en su código lo necesario para registrar estos Custom Post Types (algo que desaconsejo totalmente ya que de esta manera estamos ligando un Custom Post Type a un tema de WordPress), hay desarrolladores que lo programan a mano siguiendo las instrucciones del Codex y también se puede utilizar un plugin que nos facilita esta tarea con un simple entorno gráfico y en el que no tocaremos ni una línea de código de programación. En este artículo os voy a enseñar este último método para lo que utilizaremos un plugin llamado Custom Post Type UI.

Banner del plugin Custom Post Type UI
Instalación y Configuración
Instalamos el plugin desde el menú [ Plugins » Añadir Nuevo ] y luego lo buscamos con el nombre «Custom Post Type UI» como lo indica la siguiente imagen.

Cómo instalar el plugin Custom Post Type UI.
El plugin tiene su propia página de configuraciones desde donde podremos dar de alta, modificar y borrar Custom Post Types y Taxonomías como así también importar o exportar esta información (esta última funcionalidad la dejaremos para un próximo artículo del blog).

Página de configuración del plugin Custom Post Type UI
Veamos a continuación cómo podemos crear un nuevo Custom Post Type utilizando este plugin.
¿Cómo crear un CPT con el plugin Custom Post Type UI?
Después de pinchar en «Add / Edit Post Types» (sí, aún no está traducido al 100%) veremos la pantalla de la imagen del punto anterior. Tal como lo indican los asteriscos en rojo solo los siguientes tres campos son obligatorios:
Campo | Función |
Post Type Slug (obligatorio) | El nombre clave que le vamos a dar al Custom Post Type. Solo se aceptan caracteres alfanuméricos latinos en minúsculas, los espacios tienen que ser reemplazados por guiones o guiones bajos. |
Plural Label (obligatorio) | Nombre en plural que se utilizará en el menú de WordPress. |
Singular Label (obligatorio) | Nombre en singular que se utilizará en distintos links y páginas del administrador de WordPress. |
A modo de ejemplo vamos a crear la web de una concesionaria para listar todos los coches que tenemos en venta.

Ejemplo de uso del plugin Custom Post Type UI
Una vez que registremos el Custom Post Type veremos un nuevo menú «Coches» en nuestra barra de herramientas de WordPress.

Icono y textos del nuevo Custom Post Type
Estás pensando lo mismo que yo ¿No? Podríamos cambiar el icono por otro que tenga más sentido y también mejorar los textos ya que tienen mezcla de español e inglés ¡Vamos a ello!
Cómo cambiar los textos del Custom Post Type
Podremos modificar los textos de los enlaces de nuestro Custom Post Type editando la entidad «coche» que generamos en el paso anterior. Para ello debemos acceder al menú [ CPT UI » Add / Edit Post Types » Pestaña «Edit Post Types» ] y completar los campos de la sección «Additional Labels«. Detallo algunos de ellos:
Campo | Función |
Menu Name | Nombre para el menú del administrador de WordPress. |
All Items | Texto para el enlace de «todos los ítems» presente en el submenú del Custom Post Type. |
Add New | Texto para agregar un nuevo registro del Custom Post Type. |
Add New Item | Texto utilizado en la esquina superior izquierda en el formulario de alta del Custom Post Type. |
Edit Item | Texto utilizado en la esquina superior izquierda en el formulario de edición del Custom Post Type. |
Search Item | Texto utilizado en el botón de búsqueda en la página de listado de los Post Types. |

Etiquetas del Custom Post Type
Configuraciones Extras
Además de los nombres y las distintas etiquetas también podemos definir cómo se comportará el Custom Post Type en el entorno de WordPress a través de la sección de «Configuraciones«. Son muchas las opciones de configuración pero voy a detallar en la siguiente tabla aquellas que creo más importantes:
Campo | Función |
Has Archive | Esta opción nos permite tener una página en el Frontend con el listado de los Post Types que demos de alta. En este caso una página con el listado de todos los coches que registremos. Atención porque esta opción está marcada como «false» por defecto. El mismo campo incluye una caja de texto para que definamos la palabra que utilizará WordPress para mostrar dicho listado. Para el ejemplo de los coches podríamos usar «coches». ![]() |
Exclude From Search | ¿Debemos tener en cuenta este Custom Post Type para las búsquedas que realiza el usuario en el Frontend? Si la respuesta es negativa debemos marcar esta opción como «True«. |
Menu Position | Se puede modificar la posición del icono del Custom Post Type en la barra del menú del administrador de WordPress cambiado el número de esta propiedad (para más información leer el parámetro «Menu Position» en el Codex). |
Menu Icon | Podemos definir un icono personalizado especificando la URL completa o bien utilizando el nombre de la clase de los iconos que se utilizan por defecto en WordPress (Dashicon). |
Support | El editor de posts tiene muchas funcionalidades/campos que pueden estar visibles u ocultos al usuario. Algunos de estos campos son: título, cuerpo del artículo, imagen destacada, resumen, campos personalizados, comentarios, revisiones, autor entre otros. |
Built-in Taxonomies | Si queremos asociar una taxonomía a nuestro Custom Post Type esta es la opción. Por defecto incluirá las dos taxonomías estándar de WordPress: categoría y etiquetas. Pero también podemos crear nuestras propias taxonomías como veremos en un próximo artículo.![]() |
Añadiendo datos al CPT
Ya tenemos nuestro Custom Post Type «coche» registrado y con sus correspondientes configuraciones, ahora solo nos resta agregar nuevos registros y visualizarlos en el Frontend.

Carga de datos con Custom Post Type UI

Resultado en Frontend con el plugin Custom Post Type UI.
Conclusión
Como se ha visto es muy fácil generar nuestras propias entidades, no hace falta (ni se debería) buscar un tema específico que incluya este tipo de datos. En próximos artículos veremos cómo podemos generar taxonomías específicas para nuestra entidad (para los coches podríamos agregar una taxonomía llamada «marca» o «modelo») para que junto con los campos personalizados de ACF podamos tener nuestra estructura de información completa.