En este vídeo tutorial premium aprenderás a crear un Custom Post Type totalmente personalizado y sin la dependencia de un plugin en WordPress.
Este es un video tutorial pedido por uno de nuestros suscriptores, donde lo que queremos lograr es crear un tipo de contenido personalizado o como lo conocemos regularmente, custom post type.
Lo haremos sin ningún tipo de plugin (para generar el CPT) de manera que no creemos dependencia del mismo. Lo que haremos es usar un par de herramientas que nos ayudarán a generar el código que necesitaremos para crear el Custom Post Type.
¿Qué es un Custom Post Type y cuándo conviene crear uno?
Un Custom Post Type (CPT) es un tipo de contenido propio en WordPress, distinto a los Posts (entradas del blog) y Páginas. Crear uno te permite organizar contenido específico con su propia estructura, plantilla y URL. WordPress trae los CPTs nativos (post, page, attachment), pero cuando tu sitio crece, suelen quedarse cortos.
¿Cuándo conviene crear un CPT?
- Sitios con catálogo: cursos, podcasts, recetas, libros, eventos, productos especiales que no se ajustan a "post" ni a "page".
- Tutoriales o guías separadas del blog: si tu blog tiene contenido editorial pero también quieres una sección de "tutoriales premium" con su propio listado, archivo y SEO.
- Portafolios de trabajos o proyectos: cada proyecto con su ficha técnica, galería y estructura uniforme.
- Comunidades o intranets: directorios de miembros, ofertas de empleo, recursos descargables. Si construyes algo con BuddyBoss + Divi, los CPTs son la base de la arquitectura.
La mayoría de tutoriales recomiendan plugins como Custom Post Type UI o Toolset para crear CPTs. Funcionan bien, pero añaden dependencia: si desactivas el plugin, pierdes los CPTs (aunque los datos siguen en la base de datos). En este tutorial te enseño una alternativa más sólida: crearlos directamente con código PHP, en un mini-plugin propio que sobrevive sin dependencias externas.
Pasos clave para crear tu CPT con código (sin tocar el theme)
- Define el CPT que vas a crear: nombre singular (ej. "Tutorial"), nombre plural ("Tutoriales"), slug ("tutoriales"), si es jerárquico (como page) o no (como post). Para tutoriales recomiendo "no like post" — funciona como entradas del blog.
- Genera el código del CPT. Hay generadores online gratuitos (GenerateWP, NerdPress) que te entregan el snippet PHP listo. Define los argumentos clave:
label,public,show_in_rest(para Gutenberg),supports(qué features quieres: title, editor, thumbnail, custom-fields), ymenu_icon(un dashicon o SVG personalizado). - Instala el plugin "Pluginception". Plugins → Añadir nuevo → busca "Pluginception" → Instalar y Activar. Este plugin permite crear plugins propios desde el admin sin necesidad de FTP ni editor de código.
- Crea un mini-plugin propio. En el menú Pluginception → "Create New Plugin" → ponle nombre (ej. "Mi sitio - CPT Tutoriales") → submit. El plugin se crea automáticamente como activo.
- Pega el código del CPT en tu nuevo plugin. Plugins → Plugin Editor → selecciona tu nuevo plugin → pega el código → "Update File".
- Verifica que el CPT aparece. Recarga el admin de WordPress → en el menú lateral debe aparecer "Tutoriales" (o el nombre que definiste) con el ícono que elegiste. Crea un primer item de prueba para confirmar que funciona.
- Vincúlalo con Divi. El CPT por defecto usa la plantilla "single.php" del theme. Si quieres una plantilla custom para tu CPT, ve a Divi → Theme Builder → "Add New Template" → asigna a "All [tu CPT]" y diseña con el Builder.
- (Opcional) Desactiva Pluginception. Una vez que tu mini-plugin del CPT está creado y activo, ya puedes desactivar Pluginception sin perder tu CPT. Esto es lo que diferencia este flow del de los snippets — el CPT vive en su propio plugin independiente.
Tips para que tu CPT esté bien estructurado
- Define un slug claro y permanente: una vez publicas contenido en el CPT con un slug, cambiarlo después rompe URLs. Piénsalo bien antes.
- Soporta los features que vas a usar: si necesitas custom fields, agrega
custom-fields. Si necesitas comentarios,comments. Si necesitas categorías custom, registra primero un Custom Taxonomy y luego vincúlalo al CPT. - Usa un childtheme para snippets adicionales: si vas a personalizar más el comportamiento del CPT (ej. custom permalink, custom queries), un childtheme bien configurado es el mejor lugar para esos snippets.
- Configura SEO desde el día 1: cada CPT debe tener su sitemap, meta tags y configuración SEO específica. Mira nuestra guía sobre cómo hacer SEO en Divi con AIOSEO.
- Plantilla de archivo del CPT: además del single, define una plantilla de archivo (listado de todos los items del CPT) en Divi Theme Builder. Una buena referencia visual para esto es nuestro curso de Blog Magazine con Divi.
Casos de uso reales con Custom Post Types
- Academia online: un CPT "Tutorial" o "Recurso" complementario a los cursos LearnDash, con su propio listado y archivo.
- Agencia de diseño: un CPT "Proyecto" con campos custom (cliente, año, categoría, tecnologías). Si construyes un negocio de diseño, el Mastery de Negocio de Diseño Web cubre cómo estructurar tu portafolio profesional.
- Sitio de podcast: un CPT "Episodio" con campos para audio, duración, invitados.
- Eventos o cursos presenciales: un CPT "Evento" con fecha, ubicación, capacidad. Si automatizas el flujo (registro → email → recordatorio), mira nuestro post sobre automatizar WordPress con Make.
Preguntas frecuentes
¿Por qué Pluginception y no Code Snippets?
Code Snippets también funciona, pero Pluginception genera un plugin independiente. Si en el futuro desactivas el plugin de snippets, pierdes el CPT. Con Pluginception el CPT vive en su propio plugin que puedes mantener activo aunque cambies de herramientas.
¿Funciona con Divi 5?
Sí. Los CPTs son una funcionalidad core de WordPress, totalmente independiente del theme. Funcionan igual en Divi 4, Divi 5 o cualquier otro theme. Si vas a actualizar tu sitio, mira nuestra guía para migrar de Divi 4 a Divi 5.
¿Puedo cambiar el slug del CPT después de crearlo?
Técnicamente sí, pero no es recomendable porque rompe URLs existentes. Si necesitas cambiarlo, configura redirects 301 desde las URLs antiguas a las nuevas. Plugins como Redirection o el sistema de Yoast Premium lo manejan bien.
¿Es mejor crear varios CPTs o usar categorías?
Depende. Si los tipos de contenido tienen estructuras distintas (campos diferentes, plantillas diferentes), crea CPTs separados. Si solo necesitas clasificar contenido similar (ej. recetas dulces vs saladas, ambas siguen siendo "recetas"), una taxonomía custom es mejor.
¿Puedo combinarlo con plugins extra de Divi?
Sí. Divi Toolbox, Divi Pixel y otros plugins extra reconocen los CPTs custom y permiten estilizarlos por separado del resto del sitio.
¿Listo para crear tu primer CPT?
Crear CPTs propios es uno de los pasos que diferencian a un sitio WordPress estándar de un sistema de contenido a medida. Si vas a construir proyectos avanzados con CPTs, complementa con nuestros cursos: Blog Magazine con Divi para listados editoriales, BuddyBoss para comunidades si tu CPT alimenta una intranet, y el Mastery de Negocio de Diseño Web si lo aplicas en proyectos profesionales.
Esta es la herramienta que usamos para generar el CPT: https://generatewp.com/
Este es el plugin para crear otros plugins (usar y tirar)



Comentarios
13 comentariosPara dejar un comentario, accede a tu cuenta de UXDivi.
Acceder a mi cuenta →Estupendo, pienso que sería interesante seguir completando en siguientes tutoriales
el resto de las herramientas de GenerateWP:
.- Taxonomy Generator
.- Shortcodes Generator
.- Hooks Generator
.- Register WordPress Scripts
etc etc etc ……….
Recuerda ponerlo en la pestaña de ideas de la intranet.
Genial!, como siempre, lo que estoy aprendiendo en UX DIVI!,
Muchas gracias!
Hola Jefferson, muy buen tutorial. Tengo una duda: ¿Hay alguna manera de que las categorías y etiquetas dejen de ser globales y sean independientes para dicho CPT?
Quiero decir, he creado una plantilla para las entradas y otra para los tutoriales perfectamente, pero a la hora de añadirlos a un directorio con el módulo de blog, Divi me permite diferenciar por categoría en las entradas. Si embargo, no me permite añadir solo los tutoriales de una categoría concreta.
¿Se te ocurre alguna solución? Muchas gracias de antemano.
Que tal Alejandro, si se pueden poner categorías independientes por CTP dentro de WordPress, el problema viene con Divi, que no se lleva muy bien con estas categorías independientes, es decir, una vez que las creas y las asignas, Divi no es capaz de reconocer esas categorías. Por eso, en el tuto, se manejan las categorías de forma global junto con WordPress.
Así funciona Divi, desafortunadamente no es totalmente compatible con todo el sistema de Custom Taxonomies.
Muchas gracias por la respuesta. Al no poder diferenciar en categorías me he decantado por hacer dos CPT diferentes. Puede que no sea la mejor opción pero funciona.
Saludos!
¡Súper! Que bueno que lo has resuelto, buena manera de hacerlo.
El video esta dañado, ayuda!!
Que tal Sandra, parecía una pequeña caída de Vimeo, lo comprobamos y ya debería funcionar sin problema.
Hola Jeff,
Hay una forma de hacer esto cuando esta activo BudyBoss y que el custom post type (digamos uno para tutoriales mismamente) tenga la misma estética visual que los artículos del blog del tema de BudyBoss?
Sabiendo que no se usa Divi en el WordPress, solo elementor.
Gracias.
Que tal Bruno, si puedes crear el CPT, pero para mostrarlo en la parte frontal con el mismo estilo de Budyboss hace falta un poco de programación del tema, por defecto no toma el diseño directamente del tema. Saludos.
Lo complicado lo haces fácil… increible!!!
Gracias!!!
¡Gracias!