Aprende a generar un nuevo Custom Post Type (CPT) en cualquier child theme de Genesis Framework mediante código.
Es cierto que para crear un CPT personalizado puedes utilizar un plugin como Custom Post Type UI, o incluso algo más específico, como Portfolio Post Type.
Sin embargo, esto es Código Genesis. 😉
Así que, haciendo honor a nuestro nombre, hoy vas descubrir cómo hacer lo mismo usando unas líneas de código.
¿Cómo?
Generando tu propio plugin, una herramienta con 2 grandes ventajas frente a cualquier otro plugin del repositorio de WordPress:
- Estará 100% personalizada según tus necesidades.
- Será mucho más ligera.
De hecho, ambas están estrechamente relacionadas.
Menos líneas de código –> Menos peso
Snippet para crear un CPT en Genesis Framework
Para conseguir tu propio plugin, genera un archivo llamado, por ejemplo, «cpt-portfolio.php» con el siguiente fragmento y mételo dentro de una carpeta con el mismo nombre (en este caso sería «cpt-portfolio»).
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Cuando coloques esta carpeta en la ruta /wp-content/plugins/, aparecerá un plugin más en el panel de WordPress que podrás activar desde allí mismo (como cualquier otro).
Opciones de personalización en el plugin
Si usas el bloque anterior sin aplicar ninguna modificación, obtienes un Custom Post Type de porfolio. Pero ya sabes que puedes sustituirlo con el que tú necesites (eventos, podcasts, cursos…).
Además, este plugin también registra una taxonomía denominada «Categoría», lo cual te permite categorizar las entradas del CPT que acabas de crear.
¿No lo necesitas y prefieres aligerarlo aún más?
Perfecto. Solo debes eliminar este fragmento:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
Por último, las líneas que ves al comienzo conforman la cabecera del plugin. Aquí se encuentra toda la información que aparecerá en el panel de administración de WordPress.
Te invito a editarlo para que refleje lo que hace tu versión del plugin.
Otras consideraciones
Aunque este plugin funciona con cualquier plantilla de WordPress, me he asegurado de que el código soporta todos los atributos de Genesis necesarios, indicados en esta línea:
'supports' => array( 'title', 'editor', 'author', 'excerpt', 'thumbnail', 'custom-fields', 'genesis-cpt-archives-settings', 'genesis-seo', 'genesis-scripts', 'genesis-layouts', 'genesis-rel-author','genesis-breadcrumbs-toggle', 'genesis-footer-widgets-toggle','genesis-title-toggle', 'genesis-singular-images' ),
De esta forma, tu Custom Post Type mostrará todas las metaboxes con los ajustes de Genesis (diseño, SEO, scripts…).
Por si fuera poco, el CPT también será compatible con Gutenberg, en nuevo editor de WordPress. Así, podrás editar entradas y categorías desde el editor clásico o desde Gutenberg, como prefieras.
Actualización: El código ha sido actualizado para soportar las nuevas opciones de la barra lateral de Genesis para el editor de bloques, introducidas en la versión 3.1.
Conclusión
Aquí tienes la estructura de un plugin ligero para crear tus propios CPT personalizados y 100% compatibles con Genesis.
¿Quieres hacerme alguna pregunta o darme una sugerencia para próximos snippets? Cuéntamela en los comentarios (opción exclusiva para suscriptores).