DIY WordPress Theme Framework Parte 1 Definición de sus necesidades

Una de las mejores cosas de mi educación en la Universidad de Scranton fue la lección recurrente que aprendimos sobre reutilizar. La reutilización es increíblemente importante en la programación por muchas razones: pruebas más fáciles, ahorro de tiempo, la capacidad de centrarse en cosas más avanzadas, etc. Una vez que me gradué y entré en el maravilloso mundo del trabajo independiente a tiempo completo, decidí que si iba a seguir haciendo En el trabajo de WordPress, tendría que aplicar esas lecciones de reutilización a mi vida diaria. El número uno en mi lista era un simple marco de tema de WordPress.

El primer artículo de esta serie será un poco diferente de los demás en este sitio. En este artículo, quiero comunicarles algunas de las lecciones que aprendí sobre la reutilización y la definición de sus necesidades. Le proporcionaré mi marco en el próximo artículo, pero es un hecho que todos codifican de manera diferente y que lo que yo proporcione puede que no se ajuste a sus necesidades.!


Algunos principios de reutilización para tener en cuenta

Cualquier persona con educación formal en Ciencias de la Computación o Ingeniería de Software puede atestiguar el hecho de que existen innumerables teorías, bibliotecas y clases (clases de programación, no clases escolares) dedicadas a algunas formas muy avanzadas de reutilización y programación genérica. Si bien creo que esos son excesivos para un marco temático, hay algunos principios que intenté seguir al crear el mío:

"Las pruebas asegurarán que su código funcione antes de implementarlo 5, 10 o 20 veces".

  • Diseñe su código: Sé que cuando se habla de WordPress, el diseño generalmente implica el diseño de front-end, pero es tan importante diseñar el código. Determine cuáles serán sus funciones, clases y páginas antes de comenzar a codificarlas.
  • Generalizar cuando sea posible: Posiblemente el principio más importante es reconocer cuándo reutiliza fragmentos de código y generalizarlos en funciones. Esto hará que administrar y actualizar su código sea mucho más fácil.
  • Documentar y probar a fondo: Esto es algo que debe hacer con todo el código, pero especialmente el código que planea reutilizar con frecuencia. Documentar lo ayudará a recordar lo que estaba pensando 6 meses o un año más tarde. Las pruebas asegurarán que su código funcione antes de implementarlo 5, 10 o 20 veces.

Defina sus necesidades

Ahora que hemos establecido algunas cosas para tener en cuenta, necesitamos definir qué queremos que cumpla nuestro marco. Recuerda que cada uno de nosotros tiene nuestras propias necesidades, y aunque voy a hablar sobre las mías, las tuyas pueden ser diferentes. Mis necesidades eran bastante simples al principio: quería un marco simple que hiciera mi trabajo inicial por mí.

Al crear temas de WordPress para mis clientes, noté que mi proceso era el mismo: copiar K2 (el tema predeterminado en ese momento), eliminar lo que no quería usar, reemplazarlo con mi código. Gran parte de mi código era similar: el mismo restablecimiento de CSS, la misma estructura de CSS, el mismo encabezado de estilo, navegación, etc. Después de un tiempo, descubrí que era más fácil copiar el tema de mi último cliente y construirlo a partir de eso. Fue entonces cuando decidí construir mi propio framework..

"Necesitamos definir lo que queremos que cumpla nuestro marco"

Con eso decidido, necesitaba definir mis necesidades: qué estaba haciendo una y otra vez, y qué podía generalizar. Mi lista de requisitos era como tal:

  • CSS enchufable: Hay varias partes de mi CSS que rara vez cambian. Esto incluye en las definiciones de clase de WordPress, mi restablecimiento de CSS, algunas clases generales que uso (.hide, .left, .right, .clear, etc.) y (generalmente) mis correcciones de IE. Si pudiera abstraerme de todo eso, todo lo que tendría que hacer sería volcar un archivo CSS específico del sitio (llamado master.css después del sencillo marco CSS de Dan Cederholm) y sé que todo lo demás funcionaría correctamente..
  • Constantes para la URL del tema y rutas de imagen: Estas son 2 variables que necesito con cada tema. Si pudiera definirlos fácilmente en algún lugar, no tendría que preocuparme por reemplazar las URL de cada sitio que cree..
  • Funcionalidad WordPress Común: Estos son los menús, las definiciones de la barra lateral y cualquier otra cosa que se me ocurra que podría estar escribiendo una y otra vez.
  • Páginas de plantilla generalmente definidas: Las páginas de temas comunes (encabezado, pie de página, índice) tienen suficiente para hacerlas útiles, pero no tanto en ellas que tendría que cambiar de tema cada vez que desarrollara un tema nuevo..
  • Carpetas comunes: Siempre tengo una carpeta de imágenes, una carpeta css y una carpeta css / img. Tuve que incluir estos también.
  • Ligero: Tiene que ser ligero. No quiero tener que revisar páginas y páginas de código para encontrar lo que quiero. Mi opinión es que WordPress en sí es un marco complejo; ¿Por qué construir un segundo marco complejo en la parte superior??

También quería crear alguna función para las características de varias páginas, como el "mensaje de página no encontrada" y la navegación de la página de publicaciones. Esto se remonta a la mentalidad de que una sola función me ayudará a cambiar más rápidamente las funciones de varias páginas..


Vea lo que ya está ahí fuera

Lo mejor del software de código abierto es que si necesitas algo, probablemente ya esté hecho. Lo mismo ocurre con los frameworks. Hay docenas de marcos por ahí, así que antes de que vayas a desarrollar el tuyo, definitivamente valdría la pena revisar lo que ya está allí. El propósito es ahorrar tiempo, ¿verdad? No hay mejor manera de ahorrar tiempo que no tener que desarrollar nada.!


Temática por ThemeShaper es un marco muy popular.

Para ayudarte, he compilado una breve lista de marcos que al menos he visto (aunque la mayoría de ellos los he usado):

  • Temático
  • Tesis
  • Carrington
  • Génesis
  • Atahualpa
  • Del códice de WordPress

Mientras explora estos marcos, tenga en cuenta sus requisitos. Pruebe estos correctamente: descargue, instale, habilite. A continuación, intente crear un tema infantil y jugar con la configuración. Mira lo que encuentras. Entonces toma tu decision.

Para mí, sentí que las que probé eran demasiado complejas y no livianas. Son geniales para las personas que necesitan un tema rápidamente, pero en lo que respecta a la personalización, tuve que aprender un nuevo sistema para crear temas. Como dije anteriormente: ya conozco el framework / API complejo de WordPress. Tendría que reemplazar ese conocimiento con el framework / API de otro tema. Decidí crear la mía, que aún usaría las funciones de WordPress, no las reemplazaría.


Conclusión

Estoy seguro de que al comienzo de este artículo podría haber adivinado que la conclusión inevitable sería que construyamos nuestro propio marco. Tenemos nuestros principios y requisitos, y hemos hecho nuestra investigación. Estamos listos para construir un marco, que haremos la próxima vez.!

Lo último que te invito a hacer es repasar lo que he dicho aquí: cuáles son tus principios y requisitos. ¿Utiliza uno de los marcos que he mencionado aquí, o ya ha desarrollado el suyo? Haznos saber!

En la próxima sesión de esta serie, aplicaremos estos principios al primer día de trabajo en nuestro nuevo marco.!