1. Code
  2. WordPress

Decidir cómo desarrollar tu framework para temas de WordPress

En la primera parte de esta serie, esbocé cómo funcionan los frameworks para temas y los diferentes tipos que existen.
Scroll to top
7 min read
This post is part of a series called How Theme Frameworks Actually Work.
How Theme Frameworks Actually Work

Spanish (Español) translation by Esther (you can also view the original English article)

En la primera parte de esta serie, esbocé cómo funcionan los frameworks para temas y los diferentes tipos que existen.

Antes de que puedas empezar a construir tu propio framework, tendrás que considerar cómo debe funcionar y para qué se utilizará, de modo que puedas utilizar el enfoque de desarrollo más adecuado desde el principio.

En este tutorial, te llevaré a través de los factores que debes considerar, incluyendo si tu framework será público o privado, si será utilizado por no codificadores o desarrolladores, y qué características adicionales deseas incluir.

Hay dos partes para decidir tu enfoque: identificar cómo se utilizará tu framework y, sobre esa base, identificar lo que necesitas incluir en él.

¿Cómo utilizarás el framework para temas?

La forma en que se utilice el framework temático influirá en lo que se incluya en él y en la forma de estructurarlo.

Considera lo siguiente:

  • ¿Tu framework para temas es solo para ti o para otros desarrolladores?
  • ¿Tu framework será utilizado por desarrolladores o usuarios con poca o ninguna experiencia de codificación?
  • ¿Tu framework temático será público o privado?

¿Solo para ti o para los demás?

Si tu framework es solo para tu uso personal, entonces solo tendrás que pensar en tus propias necesidades cuando lo desarrolles; sin embargo, tiene sentido probarlo en el futuro y hacerlo lo más robusto posible, así que deberías hacerlo:

  • utilizar las normas de codificación de WordPress
  • adoptar el principio DRY (no te repitas)
  • usa un código que puedas validar usando el comprobador de validación del W3C. También deberías asegurarte de que tu código es accesible
  • Incluir comentarios, incluso si alguien más no va a mirar tu código, te sorprendería lo fácil que es olvidar lo que hace un trozo de código cuando llegas a editarlo muchos meses después.
  • usa el control de versiones para las actualizaciones de tu framework
La herramienta de validación de marcas del W3C

Si tu framework será utilizado por otros desarrolladores, tal vez por tus colegas, tendrás que adoptar todas las prácticas anteriores, y es posible que también tengas que hacerlo:

  • proporcionar documentación con un esquema de la estructura, las funciones y los ganchos de tu framework
  • considera cómo compartirás y colaborarás en el código, el uso de un sistema de colaboración como GitHub hará esto mucho más fácil
  • documentar tus versiones o vincularlas a hitos y/o lanzamientos en GitHub.

¿Para desarrolladores o usuarios?

Algunos frameworks temáticos están destinados a usuarios no codificadores que pueden personalizar ampliamente el framework sin escribir ningún código, mientras que otros están destinados a los desarrolladores, proporcionando ganchos y funciones que pueden utilizar para personalizar y ampliar el framework. Otros son adecuados para ambos, con una amplia interfaz de usuario y una API.

El hecho de que tu framework sea utilizado por personas que no son desarrolladores no significa necesariamente que lo vayas a hacer público, puede que tengas colegas diseñadores a los que quieras dar acceso, o puedes dejar que los clientes lo utilicen para personalizar tu sitio.

Si tu framework es para usuarios no codificadores, tendrás que incluir:

  • una o más pantallas de opciones temáticas desde las que los usuarios pueden hacer sus personalizaciones
  • acceso al personalizador de temas que puedes elegir para usar en lugar de las pantallas de opciones temáticas, dando a los usuarios la ventaja de poder ver sus cambios mientras los hacen, o puedes elegir usar ambos
  • áreas de widgets que permitirán a los usuarios añadir su propio contenido en una variedad de lugares de la página
  • menús para que los usuarios puedan navegar por el sitio (es posible que desees incluir más de un área para los menús)
  • soporte de temas hijos para que los usuarios puedan instalarse para crear rápidamente un sitio de trabajo
  • bibliotecas para cualquier característica que quieras incluir, como deslizadores o cajas de luz
  • documentación y apoyo para que los usuarios sepan cómo utilizar tu trabajo (algo de esto es útil pero ten cuidado de no dejar que se apodere de tu tiempo)

Si tu público objetivo son los desarrolladores que usarán tu framework junto con sus propios temas hijos y/o plugins, es posible que tengas que tener en cuenta algunos de los puntos anteriores, pero también tendrás que incluir características de la siguiente lista:

  • action hooks (ganchos de acción) que permiten a los desarrolladores insertar su propio código en tus archivos de plantillas sin crear un archivo de plantilla duplicado
  • filter hooks (ganchos de filtro) que permiten a los desarrolladores alterar el resultado de tus archivos de plantillas
  • funciones personalizadas que los desarrolladores pueden utilizar en sus temas hijos
  • partes de la plantilla e incluye archivos para reducir la duplicación de código. Esto es algo de lo que te beneficiarás mientras trabajas con el framework, y que otros desarrolladores encontrarán útil si la teoría necesita crear archivos de plantillas en sus temas hijos. Asegúrate de que tus archivos tengan un nombre y una estructura lógica, y añade comentarios a los archivos desde los que se llaman para que la gente pueda encontrarlos fácilmente.

¿Público o privado?

Si estás planeando dar a conocer tu framework al público, entonces habrá toda una serie de consideraciones adicionales:

  • si vas a enviar tu framework como un tema a través del repositorio de temas de WordPress, tendrás que adherirte a las directrices de revisión de temas
  • como los usuarios utilizarán tu framework para cualquier número de escenarios y tipos de sitios, tendrás que probar que tu framework funciona como debería en una amplia variedad de contextos, y tal vez conseguir la ayuda de otros usuarios y desarrolladores para ayudarle a probarlo
  • Alguna forma de documentación es esencial, ya sea para los desarrolladores o los usuarios dependiendo de tu público objetivo
El repositorio de temas de WordPress

También tendrás que considerar cómo vas a comercializar tu framework: aunque sea gratuito, quieres que la gente lo use, así que tendrás que publicitarlo a través de un sitio web, medios sociales, SEO, tiendas temáticas de terceros, boca a boca, encuentros locales, WordCamps y/u otros métodos.

¿Qué debería incluir tu framework para temas?

Una gran parte de las características de tu tema estará determinada por las necesidades de los usuarios que acabas de identificar. Una vez decidido a quién va dirigido el framework temático y, si es posible, preguntarle qué necesitará de él, escribe una lista de las características que incluirá tu tema.

Esta lista incluirá (sin limitarse a ello) una selección de lo siguiente:

  • archivos de plantillas (incluyendo partes de plantillas y archivos de inclusión)
  • funciones
  • ganchos de acción y ganchos de filtro
  • áreas de widget
  • menús
  • pantallas de opciones y ajustes
  • soporte del personalizador de temas
  • documentación
  • temas hijos

Para estos, identificar:

  • cuál es la característica
  • lo que hará
  • donde aparecerá tu código

Además de las características determinadas por las necesidades de los distintos grupos de usuarios, tal vez desees incluir otras características como:

  • ¿Tendrá tu framework un diseño incorporado, será configurable o estará codificado a través de temas hijos?
  • ¿Cuánto de esto incluirás en tu tema padre? Algunos frameworks tienen un estilo extremadamente mínimo, mientras que otros (como el mío) están construidos usando CSS Orientado a Objetos (OOCSS) para facilitar el estilo en los temas hijos.
  • ¿Será tu framework sensible o será codificado a través de temas hijos? Si el tema padre es sensible, tendrás que asegurarte de que no se sobrescriba con ningún estilo de diseño en los temas hijos, que es un área en la que el OOCSS resulta útil.
  • ¿Añadirás características de SEO a tu framework además de las proporcionadas por WordPress, o los usuarios lo añadirán a través de un plugin independiente?
  • ¿Incluirás cosas como deslizadores, galerías, imágenes de fondo y más en tu framework o las añadirás a través de temas hijos si es necesario?

Esta lista puede crecer con el tiempo a medida que tus necesidades y las de tus usuarios evolucionen. Asegúrate de que tu framework es fácil de ampliar desde el principio y podrás añadir nuevas características siempre que lo necesites.

Resumen

El desarrollo de un framework temático propio es una tarea de gran envergadura. Es algo que te ahorrará muchas horas de tiempo de desarrollo a largo plazo, pero que requiere una cantidad sustancial de trabajo para que funcione.

Si te tomas el tiempo necesario para identificar quiénes utilizarán el framework y qué características necesitarán, lo harás más útil para ti y otros usuarios y facilitarás la ampliación y adaptación del framework en el futuro.