Desarrollo profesional de WordPress Estrategias

Trabajar en la comunidad de WordPress es tanto una bendición como una maldición. Debido a su naturaleza de código abierto, tenemos una plataforma fantástica en la que construir sitios web, temas, complementos e incluso aplicaciones. Tiene una comunidad inteligente a su alrededor, una rica documentación y estándares que pretenden proporcionar la manera escribir código para ello y la manera para construir herramientas a su alrededor.

Al mismo tiempo, la naturaleza de código abierto de WordPress, así como los idiomas con los que se construye, permiten a cualquier persona enviar su trabajo independientemente de si está a la altura de cualquier tipo de estándar o utiliza algún tipo de práctica recomendada. Para muchos usuarios, no se dan cuenta de lo que sucede debajo del capó. Si el producto funciona, están contentos..

Como personas que toman en serio su oficio, absolutamente no podemos conformarnos con "solo hacer que funcione". Nosotros tener preocuparse por lo que hay debajo del capó.

Si eres un desarrollador serio de WordPress, es probable que ya tengas un método para trabajar, pero si recién estás comenzando o buscas definirte como un desarrollador profesional de WordPress, existen estrategias, entornos y herramientas. que puede utilizar que puede ayudar.

En esta serie de tres artículos, vamos a ver exactamente qué son y cómo se aplican en nuestro trabajo de proyecto. Primero, comenzaremos con estrategias..


Organización de archivos

Una parte importante del software de construcción es en realidad mantenerlo después del lanzamiento inicial. La verdad es que realmente se gasta más tiempo en mantener proyectos que en construirlos. Tiene sentido, ¿verdad? Existe un producto por mucho más tiempo del que se necesita para crearlo y, si se asume que es de alta calidad, los usuarios encontrarán errores y solicitarán nuevas funciones..

Desafortunadamente, se gasta una cantidad significativa de tiempo de mantenimiento para resolver un error o agregar rápidamente una nueva función y, por lo general, se hace de una manera que se enfoca más en solo hacerlo en lugar de hacerlo correctamente. Esto tampoco es completamente incorrecto: cuando un producto está vinculado directamente a los resultados de una empresa, entonces el tiempo es una prioridad.

Pero hay cosas que se pueden hacer durante el desarrollo inicial que pueden hacer mucho para facilitar el mantenimiento de un producto después de su lanzamiento..

Para temas

El Códice de WordPress proporciona una guía completa sobre cómo crear temas. Cubre guías de hojas de estilo, archivos de plantillas, información de JavaScript, pautas de prueba, listas de verificación y varias referencias. Incluso si está en el negocio de crear temas, le recomiendo revisar esta lista de vez en cuando.

Además de seguir el conjunto básico de pautas, hay cosas adicionales que se pueden hacer para mejorar el mantenimiento. Suponiendo que está siguiendo las directrices del Codex para la creación de temas, considere lo siguiente con respecto a algunos de sus activos y dependencias.

Bienes

Una de las cosas que hago para cada uno de mis proyectos es asegurarme de que tengo directorios específicos para los activos que están fuera de los archivos normales requeridos para el desarrollo del tema. Con esto quiero decir que tengo directorios específicos para:

  • Imágenes
  • Hojas de estilo
  • JavaScript
  • Archivos de lenguaje
  • Bibliotecas, como código más modular como complementos o clases de PHP
  • … y así

Por supuesto, cada tema requiere al menos una sola hoja de estilo, pero digamos que vas a proporcionar hojas de estilo específicamente para el tablero administrativo. Para el mantenimiento, es mejor mantenerlos separados que en una sola hoja de estilo y luego permitir que una herramienta los combine antes de lanzarlos..

Examinaremos las herramientas para esto exactamente en el artículo final de la serie..

Independientemente de dónde se encuentre en esto, hacer un poco de planificación por adelantado puede hacer mucho para tener un conjunto de activos bien organizado.

Convenciones de nombres

A medida que consideramos cómo organizar mejor nuestros diversos activos, las convenciones de nomenclatura pueden ayudar a proporcionar un nivel de claridad y proporcionar un estándar según el cual todos los archivos relacionados deben seguir. Por ejemplo, en cada uno de mis proyectos normalmente hago lo siguiente:

  • Imágenes relacionados con una plantilla específica tienen como prefijo el nombre de la plantilla, por ejemplo: full-width.background.png
  • JavaScript
    • Para el tablero administrativo, será prefijado con administración y se nombrará según la página para la que se carguen: admin.edit-post.js, admin.users.js.
    • Para el tema, o las áreas públicas, será prefijado con tema y el nombre de la plantilla en la que se cargan: tema.about.js.
  • Hojas de estilo son nombrados como JavaScript
    • Las hojas de estilo específicas de la administración tienen el prefijo administración y el nombre dependiendo de la página en la que se cargan: admin.widgets.css
    • Las hojas de estilo específicas del tema se nombran de la misma manera en que se nombran según la plantilla en la que se cargan: tema.about.css.

Por supuesto, hay algunos JavaScript universales y hojas de estilo que se aplican en todo el tema. En este caso, simplemente mantengo un conjunto de admin.cssstyle.css archivos.

Para plugins

La mayoría de los desarrolladores de WordPress saben que los complementos deben ser temáticos. Es decir, no deben depender de una característica de ningún tema dado ni deben imponer ninguna de sus hojas de estilo o JavaScripts sobre el tema existente, excepto por su característica específica..

Además de eso, hay dos formas de desarrollar complementos:

  • La API del plugin
  • La API de widgets

Para ello, hay algunas estrategias que se pueden emplear al escribir sus complementos para asegurarse de que las hojas de estilo, JavaScript, imágenes y otros activos no entren en conflicto con el tema existente.

No mezclar y combinar

Cuando se trata de escribir complementos, las distintas API suelen facilitar la combinación y combinación de los idiomas que utilizas para crear tu complemento. Con eso, quiero decir que es completamente posible incluir todos los estilos, JavaScripts, HTML y PHP en un solo archivo y luego enviarlos.

Pero no soy fan de esto..

Por lo general, cada idioma tiene un propósito específico y, debido a eso, trato de mantener cada idioma en su propio archivo tanto como sea posible. Considera esto:

  • HTML se utiliza para describir los datos que se representan en el navegador
  • CSS se utiliza para dar estilo o presentar los datos que se representan en el navegador
  • JavaScript se utiliza para manejar eventos y retransmitir información desde y hacia el navegador y el servidor
  • PHP está destinado a ejecutarse en el servidor

Como tal, creo que tiene más sentido mantener los archivos separados para que sepa dónde enfocarse cuando surge un problema o es el momento de introducir una nueva función..

Esto no significa que en ocasiones no tendrá PHP escrito en su marca o que no creará elementos HTML dinámicamente en el lado del servidor, sino que le proporcionará una base sobre la que organizará su trabajo..

Separación de intereses

Además de asegurarme de que cada conjunto de hojas de estilo y archivos JavaScript tengan un nombre claro, tiendo a seguir la misma estructura que hago para los temas y es nombrar el código administrativo específico con el prefijo administración y tema o código público específico con monitor.

Es una estrategia simple, pero permite optimizar la ubicación de sus archivos y mantener los problemas a medida que se presentan una vez que su trabajo está en libertad..

Una palabra final sobre estrategia

El punto que cubre esto no es imponer. mi forma de organizar archivos en su sistema o incluso decir que esta es una forma estándar de hacerlo. Está destinado a proporcionar un punto de partida para el cual puede mantener sus proyectos..

En última instancia, el objetivo es minimizar el mantenimiento tanto como sea posible. Tener convenciones de nomenclatura claramente definidas y un estándar de organización le permite saber exactamente cómo y dónde colocar sus archivos sin hacer ninguna conjetura y le permite a sus colaboradores y / o miembros de su equipo saber dónde enfocarse para localizar los problemas a medida que llegan.


Documentos de referencia

Uno de los desafíos que enfrentan los desarrolladores es asegurarse de que estén familiarizados con las formas adecuadas de aprovechar la plataforma en la que están trabajando..

En su mayor parte, cada idioma, marco y biblioteca incluye algún tipo de documentación y WordPress no es diferente. La cuestión es que WordPress está compuesto de varias piezas diferentes, no solo es la aplicación creada con PHP, sino que también hay API específicas de la aplicación, así como bibliotecas como jQuery que son necesarias para tener como referencia..

Debido a que lleva mucho tiempo familiarizarse íntimamente con los entresijos de cada idioma, aplicación y biblioteca, los desarrolladores profesionales de WordPress generalmente tienen referencias disponibles. Para los desarrolladores de WordPress, las siguientes referencias son extremadamente valiosas.

  • PHP Obviamente, el lenguaje en el que se escribe WordPress es valioso. Tener el manual disponible para revisar las funciones y clases es importante, especialmente si está operando fuera de la API de WordPress estándar.
  • Normas de Codificación. Uno de los mayores problemas en el desarrollo de WordPress es que los desarrolladores a menudo no aplican los estándares de codificación a su trabajo (¡yo también era culpable de esto!). Al seguir un estándar, nos aseguramos de que todo nuestro código se vea igual y, por lo tanto, facilitará la contribución a la comunidad si así lo deseamos. Si nada más, hace para el código limpio.
  • API de WordPress. Esto debería ser una obviedad, pero asegurarse de que está trabajando correctamente con los diversos objetos de WordPress es necesario para el desarrollo profesional. Solo porque puedas evitarlo no significa que debas hacerlo. Las probabilidades son, si hay un método que necesita, ya está disponible como parte de la API central.
  • jQuery API. jQuery es la biblioteca de JavaScript que se incluye con WordPress y se usa para la funcionalidad principal tanto dentro del panel de control como dentro de muchos temas y complementos. Lo mejor es no intentar traer su propia variante de JavaScript a la mezcla, sino atenerse a lo que se proporciona.

En la mayoría de los casos, ya está: marque los marcadores o téngalos a disposición en su IDE (si lo admite), pase tiempo en cada uno de ellos y estará en el buen camino hacia prácticas de desarrollo profesional..

En cuanto a las estrategias, esto lo cubre. En pocas palabras, tenga una forma definida de organizar y nombrar sus archivos, asegúrese de seguir las mejores prácticas de la API central de WordPress, y asegúrese de consultar los distintos documentos de la API de idioma al momento de construir su trabajo. una posición mucho mejor que simplemente construir su trabajo a partir del brazalete.

.