Uno de los aspectos más potentes de WordPress es su capacidad de personalización, y una de las herramientas clave para esto son los Custom Post Types (CPT). Crear un Custom Post Type te permite gestionar contenido personalizado (como portfolios, eventos o productos) de manera independiente a las entradas y páginas tradicionales.
En esta guía, aprenderás cómo crear un Custom Post Type muy sencillo dentro de un plugin personalizado, de forma clara, profesional y optimizada. Luego ya, si trabajas con Bricks o Elementor puedes vincular de manera dinámica el título, imagen destacada y algunas cosillas más.
🥇 ¿Qué es un Custom Post Type y por qué usarlo?
Un Custom Post Type es un tipo de contenido personalizado que puedes crear para gestionar información específica en tu sitio web. Por defecto, WordPress viene con varios tipos de contenido integrados, como:
- Post (entradas del blog).
- Page (páginas estáticas).
- Attachment (archivos subidos).
➡ Con un CPT puedes crear algo completamente nuevo, como:
- Una sección de eventos.
- Un portfolio para proyectos (por ejemplo como el que tengo yo)
- Una base de datos de libros o recetas.
Usar un plugin personalizado para crear un CPT es una práctica recomendada, ya que así mantienes tu código separado del tema y evitas problemas al cambiar de diseño.
🚀 Paso 1: Crear la estructura básica del plugin
Primero, crea un plugin personalizado para gestionar tu Custom Post Type.
- Accede a los archivos de tu instalación de WordPress mediante FTP o un administrador de archivos (como cPanel).
- Ve a la carpeta
/wp-content/plugins/
y crea una nueva carpeta. Por ejemplo:mi-cpt-plugin
. - Dentro de esa carpeta, crea un archivo PHP con el mismo nombre. Por ejemplo:
mi-cpt-plugin.php
. - Abre el archivo y pega el siguiente código base:
<?php
/*
Plugin Name: Mi Plugin de CPT
Description: Un plugin para crear un Custom Post Type.
Version: 1.0
Author: Tu Nombre
*/
// Evitar acceso directo
if ( !defined( 'ABSPATH' ) ) exit;
// Aquí añadiremos nuestro código para el CPT
Este archivo ahora es un plugin válido que puedes activar desde el panel de WordPress.
🙌 Paso 2: Registrar el Custom Post Type
WordPress tiene una función llamada register_post_type()
que usamos para registrar nuestro CPT. Añade el siguiente código dentro del archivo del plugin:
function mi_cpt_plugin_registrar_cpt() {
$labels = array(
'name' => 'Proyectos',
'singular_name' => 'Proyecto',
'menu_name' => 'Proyectos',
'name_admin_bar' => 'Proyecto',
'add_new' => 'Añadir Nuevo',
'add_new_item' => 'Añadir Nuevo Proyecto',
'edit_item' => 'Editar Proyecto',
'new_item' => 'Nuevo Proyecto',
'view_item' => 'Ver Proyecto',
'search_items' => 'Buscar Proyectos',
'not_found' => 'No se encontraron proyectos',
'not_found_in_trash' => 'No se encontraron proyectos en la papelera',
);
$args = array(
'labels' => $labels,
'public' => true,
'has_archive' => true,
'rewrite' => array( 'slug' => 'proyectos' ),
'supports' => array( 'title', 'editor', 'thumbnail' ),
'menu_icon' => 'dashicons-portfolio',
);
register_post_type( 'proyectos', $args );
}
add_action( 'init', 'mi_cpt_plugin_registrar_cpt' );
➡ Detalles del código
- Labels: Define los textos visibles en el panel de administración de WordPress.
- public: Hace que el Custom Post Type sea visible tanto en el panel de administración como en el front-end.
- has_archive: Permite tener una página de archivo para listar todos los elementos del CPT.
- rewrite: Define la URL amigable (slug).
- supports: Especifica qué opciones tendrá cada elemento (título, editor, imágenes destacadas, extracto etc.).
- menu_icon: Cambia el ícono en el panel de administración. Puedes encontrar más íconos en Dashicons (la web donde están todos los iconos).
📌 Paso 3: Activar el plugin
- Ve al panel de administración de WordPress.
- Accede a Plugins > Plugins instalados.
- Encuentra tu plugin (“Mi Plugin de CPT”) y actívalo.
- Verás un nuevo menú llamado “Proyectos” en el panel de administración.
🤟 Paso 4: Personalizar el CPT con taxonomías
Para categorizar y organizar tu contenido, puedes registrar taxonomías personalizadas. Añade este código debajo del registro del CPT:
function mi_cpt_plugin_registrar_taxonomias() {
$labels = array(
'name' => 'Categorías de Proyectos',
'singular_name' => 'Categoría de Proyecto',
'search_items' => 'Buscar Categorías',
'all_items' => 'Todas las Categorías',
'edit_item' => 'Editar Categoría',
'add_new_item' => 'Añadir Nueva Categoría',
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'rewrite' => array( 'slug' => 'categorias-proyectos' ),
);
register_taxonomy( 'categorias_proyectos', 'proyectos', $args );
}
add_action( 'init', 'mi_cpt_plugin_registrar_taxonomias' );
Este código crea una taxonomía personalizada similar a las categorías de las entradas.
👋 Paso 5: Prueba y ajustes finales
- Ve al nuevo menú de “Proyectos” y crea un proyecto de prueba.
- Revisa que los campos como título, contenido y miniatura funcionen correctamente.
- Accede a la página de archivo (
tusitio.com/proyectos/
) para ver la lista de proyectos.
➡ Depuración de URL
Si no ves la página de archivo, ve a Ajustes > Enlaces permanentes y guarda los cambios sin modificar nada. Esto regenera las URLs amigables.
Y hasta aquí esta mini guía de cómo crear un Custom Post Type en Plugin en WordPress. La verdad que funcionan muy bien y hoy en día se pueden crear en online incluso en algunas páginas. Pero en este caso lo hemos visto de manera rápida con un plugin y algo de código. Sin duda es una práctica profesional que garantiza escalabilidad y flexibilidad para tu sitio web.
Si esta guía te ha sido útil, ¡no dudes en compartirla! Y si necesitas ayuda profesional para personalizar tu WordPress, contáctame para hacer realidad tu proyecto