Tipos de contenido personalizados (CPT UI)
Un portfolio no es un blog: tus trabajos no son "entradas" con fecha, son proyectos con cliente, año, disciplina e imágenes.
Tipo de contenido personalizado = entidad; taxonomía = clasificación N:M; campo personalizado = atributo extra.
CPT UI los crea sin programar; se guardan en las tablas de siempre.
Activa archivo y API REST; slugs en singular y sin acentos.
- Un portfolio no es un blog: tus trabajos no son "entradas" con fecha, son proyectos con cliente, año, disciplina e imágenes. WordPress permite crear tipos de contenido personalizados (Custom Post Types, CPT) y taxonomías propias para modelar tus datos igual que hiciste con el modelo E/R de la lección Diseño conceptual: entidad-relación, pero sin escribir SQL.
- En el modelo E/REn WordPress Entidad (Proyecto)Tipo de contenido personalizado: proyecto Atributos simples (título, descripción, imagen)Título, contenido, imagen destacada, extracto Otros atributos (cliente, año)Campos personalizados (en wp_postmeta) Entidad para clasificar con relación N:M (Disciplina)Taxonomía propia: disciplina
- Todo se sigue guardando en las tablas que viste en la lección WordPress por dentro: instalación local con WordPress Studio: los proyectos en wp_posts con post_type = 'proyecto' y sus disciplinas en las tablas de términos.
- Custom Post Type UI (CPT UI) es un plugin gratuito que crea tipos de contenido y taxonomías desde un formulario.
- Plugins → Añadir nuevo, busca Custom Post Type UI, instálalo y actívalo. CPT UI → Añadir/editar tipos de contenido:Slug del tipo de contenido: proyecto (en singular, minúsculas, sin acentos ni espacios; es el nombre interno y no conviene cambiarlo después). Etiqueta plural: Proyectos. Etiqueta singular: Proyecto. En los ajustes, revisa:Tiene archivo (Has Archive): Sí, para tener una página que liste todos los proyectos (/proyecto/). Mostrar en la API REST (Show in REST API): Sí. Lo necesita el editor de bloques y lo usarás en la lección Del gestor a JavaScript: leer datos por API para leer los proyectos con JavaScript. Soporta (Supports): título, editor, imagen destacada, extracto. Guarda. Aparece Proyectos en el menú del escritorio.
Introducción
Un portfolio no es un blog: tus trabajos no son "entradas" con fecha, son proyectos con cliente, año, disciplina e imágenes. WordPress permite crear tipos de contenido personalizados (Custom Post Types, CPT) y taxonomías propias para modelar tus datos igual que hiciste con el modelo E/R de la lección Diseño conceptual: entidad-relación, pero sin escribir SQL.
Del modelo E/R a WordPress
En el modelo E/REn WordPress Entidad (Proyecto)Tipo de contenido personalizado: proyecto Atributos simples (título, descripción, imagen)Título, contenido, imagen destacada, extracto Otros atributos (cliente, año)Campos personalizados (en wp_postmeta) Entidad para clasificar con relación N:M (Disciplina)Taxonomía propia: disciplina
Todo se sigue guardando en las tablas que viste en la lección WordPress por dentro: instalación local con WordPress Studio: los proyectos en wp_posts con post_type = 'proyecto' y sus disciplinas en las tablas de términos.
Crear el tipo «Proyectos» con CPT UI
Custom Post Type UI (CPT UI) es un plugin gratuito que crea tipos de contenido y taxonomías desde un formulario.
Plugins → Añadir nuevo, busca Custom Post Type UI, instálalo y actívalo. CPT UI → Añadir/editar tipos de contenido:Slug del tipo de contenido: proyecto (en singular, minúsculas, sin acentos ni espacios; es el nombre interno y no conviene cambiarlo después). Etiqueta plural: Proyectos. Etiqueta singular: Proyecto. En los ajustes, revisa:Tiene archivo (Has Archive): Sí, para tener una página que liste todos los proyectos (/proyecto/). Mostrar en la API REST (Show in REST API): Sí. Lo necesita el editor de bloques y lo usarás en la lección Del gestor a JavaScript: leer datos por API para leer los proyectos con JavaScript. Soporta (Supports): título, editor, imagen destacada, extracto. Guarda. Aparece Proyectos en el menú del escritorio.
📌 Nota. Los nombres exactos de las opciones pueden variar según la versión del plugin y el idioma del escritorio: estos son los de septiembre de 2026 y pueden haber cambiado.
Crear la taxonomía «Disciplinas»
CPT UI → Añadir/editar taxonomías:Slug: disciplina. Etiquetas: Disciplinas / Disciplina. Adjuntar a los tipos de contenido: marca Proyectos. Jerárquica: Sí si quieres que funcione como las categorías (Diseño → Identidad), No si prefieres etiquetas libres. Mostrar en la API REST: Sí. Guarda y crea las disciplinas: Branding, Web, Motion, Ilustración…
Crear proyectos
En Proyectos → Añadir nuevo: título, descripción con bloques, imagen destacada (con su texto alternativo), extracto y disciplinas. Crea al menos seis para tener con qué trabajar en las lecciones siguientes.
Campos personalizados
Para datos como el cliente o el año, WordPress tiene campos personalizados, que se guardan en wp_postmeta como pares clave-valor:
Los nativos se activan en el editor: Opciones (⋮) → Preferencias → Paneles → Campos personalizados (así en septiembre de 2026; la ruta puede cambiar con la versión). Plugins como Advanced Custom Fields (ACF) crean formularios cómodos con tipos (texto, número, fecha, imagen).
Para empezar, muchas veces basta con el título, el extracto y las disciplinas.
Compruébalo en la base de datos
En phpMyAdmin (lección WordPress por dentro: instalación local con WordPress Studio):
SELECT ID, post_title, post_status FROM wp_posts WHERE post_type = 'proyecto'; SELECT t.name, tt.count FROM wp_terms t JOIN wp_term_taxonomy tt ON tt.term_id = t.term_id WHERE tt.taxonomy = 'disciplina';
Tus proyectos y disciplinas están ahí, con la misma estructura que las entradas y las categorías.
Buenas prácticas de modelado
Un tipo de contenido por entidad con identidad propia (Proyectos, Servicios, Testimonios). No lo crees para algo que es una sola página. Taxonomía para clasificar y filtrar (disciplina, año como grupo, cliente si hay varios proyectos por cliente); campo para datos únicos de cada elemento (el enlace al proyecto publicado). Slugs en singular, en minúsculas y sin acentos; decídelos antes de crear contenido. Menos es más: dos o tres taxonomías bien pensadas funcionan mejor que diez.
Practica
Crea el tipo proyecto y la taxonomía disciplina con CPT UI. Da de alta seis proyectos con imagen destacada, extracto y disciplina. Visita el archivo /proyecto/ y un proyecto suelto. Ejecuta las consultas de comprobación y localiza tus proyectos. Dibuja el modelo E/R de tu portfolio y márcalo: qué es tipo de contenido, qué es taxonomía y qué es campo.
Errores frecuentes
Slugs con mayúsculas, espacios o que coinciden con otros (page, post). No activar Tiene archivo y no encontrar la página de listado. No activar Mostrar en la API REST: el editor de bloques no aparece y la API no devuelve los proyectos. No asociar la taxonomía al tipo de contenido. Cambiar el slug cuando ya hay contenido: los proyectos "desaparecen" (siguen con el slug viejo en la base de datos). Si al abrir un proyecto sale un error 404, guarda de nuevo Ajustes → Enlaces permanentes.