WordPress Custom Post Types Debate - Functions.php o Plugins?

Como muchos de ustedes saben, la semana pasada Syed Balkhi asistió a WordCamp Raleigh 2012. Durante el evento, uno de sus tweets provocó un gran debate. En este artículo, nuestro fundador Syed Balkhi debatirá si los Tipos de Postes Personalizados de WordPress pertenecen al archivo functions.php o a los plugins. Abajo hay un tweet que inició este debate:

Después del tweet, mucha gente de buena reputación en la comunidad de WordPress se sumergió. Puedes ver la conversación completa aquí. Curtis McHale dio un paso más allá y profundizó sobre el tema en su nueva entrada en el blog.

La conversación de twitter sacó a relucir algunos puntos importantes.

Resumen de los argumentos

Argumento de los plugins: El usuario siempre tendrá los datos incluso si cambia el tema. Puede que no se vea tan bonito, pero se quedará ahí.

Argumento de Functions.php: Los datos sin diseño serían irrelevantes. Confundirá aún más a los usuarios.

¿Con qué lado estás más de acuerdo? Es evidente que ambas partes tienen sus problemas, pero ¿cuál es el menor de los dos males?

Aquí está la razón por la que creemos que los Tipos de Mensajes Personalizados deben SIEMPRE vivir en un plugin específico del sitio o en un plugin separado.

Larga vida a los datos

Los Tipos de Postes Personalizados son datos. En la mayoría de los casos, sus datos sobrevivirán al diseño actual. Después de haber cambiado nuestros temas varias veces, entendemos esa afirmación claramente. Mensajes, Páginas, Enlaces, Anexos y Revisiones son todos los tipos de mensajes que vienen incorporados con WordPress. Además de eso, tenemos tipos de post como Libros, Testimonios, Ofertas, etc. Ahora, ¿te imaginas si cambiamos de tema y hacemos que todo esto desaparezca? Seguramente, no querríamos que eso pasara.

Tener desarrolladores en nuestro equipo, esto no debería importar mucho. Teniendo en cuenta que todos nuestros temas son diseñados a medida por nuestro equipo, ¿qué diferencia hace realmente? El secreto está en dos palabras: tiempo y centralización. Mientras tengamos todos los datos necesarios, lo único que tendremos que hacer en el futuro es cambiar el estilo. No tendremos que preocuparnos por copiar y pegar las funciones de un archivo a otro cada vez. ¿Qué sucede si desea replicar la funcionalidad? Simplemente tome el plugin y suéltelo en su nuevo sitio. Cambie el estilo y ya está.

Reglas y estándares

Cuando usas la palabra SIEMPRE como lo hicimos en nuestro tweet, puede significar tanto reglas como estándares. Tanto las reglas como las normas están hechas para la mayoría. Siempre habrá casos especiales en los que las reglas se doblan y las normas se rompen, pero eso no significa que debamos deshacernos de las normas por completo.

Hay toneladas de tipos de puestos genéricos que en su mayoría requieren el mismo conjunto de metacampos adicionales. Algunos ejemplos que me vienen a la mente son: Cotizaciones, Libros, Recetas, Testimonios, Portafolio, etc.

Considerando el gran número de fotografías y temas de portafolio que están disponibles en el mercado libre y comercial, casi no tiene sentido hacer que el usuario vuelva a ingresar toda su información personalizada de tipo post cada vez que cambie un tema. Echemos un vistazo a un caso de ejemplo:

Fotógrafo - El usuario configura un WordPress que tiene una funcionalidad de blog (por defecto "post" CPT). Quiere añadir un portafolio de su trabajo (requiere un Portafolio CPT). Quiere mostrar testimonios de clientes (requiere un CPT de Testimonio). Toda esta información seguramente va a vivir más allá de un diseño temático. Un año más tarde, el usuario quiere cambiar el aspecto de su sitio y darle una actualización. Encuentra un nuevo tema que tenga todas las funciones similares. En el momento en que cambie el tema, BOOM. Todos los datos anteriores que introdujo han desaparecido. Hay un menú llamado Portafolio, y un menú llamado Testimonios, sin embargo, ninguno de los datos está allí. El usuario piensa "HOLY CRAP, he perdido todo mi contenido". Crea una nueva pregunta de soporte en el foro. Envía correos electrónicos a sitios como AprenderWP, etc. Si no reciben una buena respuesta, tendrán que volver a introducir todos los datos. Esta es una experiencia de usuario de mierda.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir