Ayer, a través de Ayuda WordPress, tuve conocimiento de un formulario online, realizado con Gravity Forms (un plugin de pago, que seguramente es el mejor y más completo para la creación de formularios en WordPress), que no sólo permite definir tipos de contenido personalizado a voluntad del usuario, sino que además genera el correspondiente código PHP. Nada más conocer la noticia, cuyo contenido coincide con uno de los temas recurrentes en el último año de este blog, me faltó tiempo para entrar en el formulario y recorrer las seis etapas de que consta, a saber: la definición de los elementos generales del tipo de contenido (nombre, descripción, etc.), sus características, etiquetas, visibilidad, opciones y capacidades.
El código resultante se puede añadir al fichero functions.php del tema o plantilla, aunque yo he preferido añadirlo a un plugin, lo cual garantiza que las funcionalidades correspondientes al nuevo tipo de contenido sean independientes del tema utilizado en el blog. Aunque esta idea la propone Antonio Romero, en uno de los comentarios a la citada entrada de Ayuda WordPress, de hecho yo la había aplicado hace unos cuantos días para otro propósito, tal como conté en el artículo Mi primer plugin para WordPress.
En cualquier caso, el formulario WordPress Custom Post Type Code Generator crea un código limpio y fácil de interpretar, que se puede incorporar inmediatamente a cualquier sitio web realizado con WordPress. No obstante, existen dos inconvenientes que limitan su utilidad:
- Aunque el formulario permite asociar el tipo de contenido con taxonomías personalizadas, no define las características de estas últimas, lo cual dificulta el uso conjunto de ambos elementos. Si se quiere contar con la apoyatura de taxonomías personalizadas para los tipos de contenido, aquellas deben ser definidas aparte.
- Si los títulos de los campos de los tipos de contenido personalizados se escriben en español, se corre el riesgo de que sus etiquetas produzcan en el backend de WordPress caracteres ilegibles. Por ejemplo, si la etiqueta de “Add New” se traduce como “Añadir nuevo”, la “ñ” se representa tal cual en el código, lo que da lugar a un carácter ilegible en el backend. Se puede resolver el problema modificando el código PHP y cambiando la “ñ” por la correspondiente entidad HTML –en el caso que nos ocupa, ñ–, pero eso es siempre un incordio.
En resumen: el invento del formulario online no está nada mal, y ciertamente hay que descubrirse ante el talento de su creador, Brad Vincent. Ahora bien, en mi opinión siempre es mejor programar “a mano” el código, o bien utilizar algún plugin que permita definir a la vez taxonomías y tipos de contenido personalizados, lo cual asegura una cómoda integración entre ambos. Hay extensiones muy buenas para conseguir este objetivo, y no son especialmente difíciles de utilizar, como por ejemplo Custom Post Type UI (mi favorito), Custom Press, GD Custom Posts And Taxonomies Tools o WP Post Type UI.
Natania Mendoza dice
Excelente hallazgo! Hace un par de semanas vengo luchando con ese tema y la verdad es que soy medio bruto como para hacerlo manualmente. Mis conocimientos no llegan a tanto, por lo que este formulario me simplificaría mucho las cosas! Gracias por compartirlo!
Eduardo Larequi dice
Creo que las gracias hay que dárselas, como tantas otras veces, a Ayuda WordPress, por descubrirnos esta interesantísima utilidad.
Pepet dice
Buenos días! Muy interesante su post.Pero le recomiendo que pruebe esta herramienta que llevo empleando unos meses.
http://www.mandoocms.com/es_ES/features/1249/