Genera un plugin de custom post type
Los CPT son necesidad diaria: portfolios, miembros de equipo, casos de estudio, localizaciones. Los registras con 20 líneas PHP pero "solo 20 líneas" acaban en functions.php del tema donde no pegan — si cambias de tema, tu estructura desaparece.
Un plugin dedicado es el sitio correcto. Generamos uno que registra CPT, taxonomías, campos, columnas admin, endpoints REST e incluye templates con sensible defaults que el tema activo puede sobrescribir.
¿Por qué generarlo en vez de instalar un plugin existente?
CPT UI + ACF cubre la mayoría y es lo que muchas agencias despachan. Funciona. También mete dos plugins, una UI admin con la que liar a editores, y cuotas ACF Pro si quieres repeaters o flexible content.
Un plugin generado declara CPT y campos en código. Sin UI admin que malconfigurar. El storage es el mismo (post meta), REST auto-expuesto y las columnas de lista admin ya vienen con lo que importa (ej: ciudad, año, status) en vez del title-date por defecto.
Portable: copia-pega a otro sitio y va tras activar.
Prompt de ejemplo
Este es el tipo de descripción que genera este plugin. Puedes partir de aquí y ajustar lo que necesites antes de generar.
Nombre del plugin: Acme Case Studies
CPT acme_case con slug /case-studies/<slug>/.
Taxonomía acme_case_industry (jerárquica) y acme_case_tag (plana).
Campos (post meta):
- client_name, project_year, project_url
- summary (<= 160 chars)
- services (multi-select: "Design","Dev","Consulting")
Columnas admin: thumb destacada, client_name, industria (primer término), year, status.
Filtros: industry, year.
Editor bloques: bloques core. Panel lateral para meta vía register_plugin Gutenberg.
REST: auto-expuesto en /wp/v2/acme_case con meta incluida en _embedded.
Templates:
- archive-acme_case.php (grid)
- single-acme_case.php (hero + summary + contenido)
Como fallback; temas sobrescriben.
Flush rewrite en activación/desactivación.Qué suele incluir el plugin generado
- register_post_type + register_taxonomy con args completos
- Meta registrada vía register_post_meta (REST visible, sanitizada)
- Panel lateral Gutenberg para campos (sin ACF)
- Columnas admin ordenables por year y filtrables por industry
- REST auto-expuesta con meta
- Templates fallback sobrescribibles
- Flush rewrite en (de)activación; guard en uninstall
Campos, taxonomías, slug, capabilities y si usar sidebar o meta boxes vienen del prompt. Importar posts existentes al nuevo CPT es tarea aparte describible en el mismo prompt.
Preguntas frecuentes
¿Qué pasa si desactivo el plugin?
Los posts quedan en DB pero inaccesibles (no hay CPT). Reactivar los restaura. Lo documentamos en el readme.
¿Dos plugins pueden compartir taxonomía?
Sí. Declara shared-scope en el prompt y el plugin registra condicionalmente para evitar doble registro.