Escribir Temas de WordPress Mantenibles Herramientas

A lo largo de esta serie, hemos estado hablando acerca de una serie de prácticas que podemos emplear en el desarrollo de nuestro tema de WordPress que ayudarán no solo a proporcionar una base consistente a partir de la cual podemos construir nuestros proyectos existentes y futuros, sino que también nos ayudarán a mantenlos después de ser liberados.

Hasta este punto, hemos cubierto:

  1. Directorios
  2. Convenciones de nombres

Antes de profundizar en este artículo, recomiendo leer los dos primeros para que pueda tener una idea de la perspectiva que estamos adoptando cuando analizamos el desarrollo del tema. Además de esos puntos, también hay una serie de herramientas que creo que deberían instalarse para asegurarnos de que estamos escribiendo el mejor código posible.

Por supuesto, esto no solo se suma a los consejos mencionados anteriormente, sino que también aplica los estándares de codificación de WordPress..

En este artículo final, hablaré de varias configuraciones y complementos diferentes que creo que deberían definirse y / o instalarse en cada Entorno de desarrollo de WordPress para asegurarse de que está utilizando las API más actualizadas, que no está afectando negativamente el rendimiento y que no está generando avisos, advertencias o errores a través de PHP.

Ajustes

Antes de comenzar a hablar sobre varios complementos que están disponibles, hay una serie de configuraciones que recomiendo configurar en su servidor web y en su entorno de WordPress..

Algunas de estas configuraciones contribuirán a la funcionalidad de los complementos que veremos más adelante en este artículo, otras brindarán una funcionalidad que nos ayudará a advertirnos cuando cometamos errores en PHP y / o en nuestro WordPress código específico.

Configuración del servidor web

Aunque no todos trabajan con Apache, PHP y MySQL, aún se puede decir que es la configuración más común que se usa cuando se trabaja con WordPress. Una de las cosas que siempre recomiendo que hagan los desarrolladores en este entorno es asegurarse de que hayan configurado PHP para iniciar sesión todo a un archivo de registro en su máquina.

Es decir, cuando se dan las opciones para iniciar sesión:

  • errores de inicio
  • errores
  • advertencias
  • avisos
  • todos los demás errores y advertencias

Asegúrate de comprobar todo. Si utiliza una herramienta como MAMP, XAMPP o WAMP, entonces esto suele ser muy fácil de hacer a través de la interfaz de usuario; Sin embargo, si no está seguro de dónde configurar estas opciones, siempre puede configurarlas dentro de php.ini Usando las notas que se detallan en el manual de PHP..

Realizar un seguimiento de los errores que se registran y que pueden no mostrarse en la pantalla (aunque haremos todo lo posible para asegurarnos de que hacer verlos en la pantalla más adelante en este artículo) es esencial para asegurarse de que está escribiendo un código que detecte cualquier problema potencial con el código.

Por supuesto, esto debería poder hacerse cuando se usan otros servidores web; después de todo, esto es solo una configuración de configuración de PHP, pero actualmente no uso muchas de las otras opciones disponibles, así que quise ser explícito acerca de Entorno en el que configuro mis ajustes..

WP_DEBUG

WP_DEBUG Es una constante que puedes configurar dentro de tu WordPress. wp-config.php expediente. La mayoría de las instalaciones tendrán este conjunto en falso, por defecto. Si el tuyo ya está configurado para cierto, entonces significa que alguien ya lo ha hecho o que tiene una copia de WordPress con la configuración que está no enviado por defecto desde WordPress.org.

De todos modos, en el archivo de configuración busque la constante y si está configurada para falso, luego configurarlo para cierto. Si no se encuentra, a continuación, agregue la línea. En última instancia, esto es lo que tu funciones.php El archivo debe contener (además del otro código que ya estaba allí):

define ('WP_DEBUG', true);

En resumen, esta constante en particular se asegurará de que los avisos de PHP se escriban en la pantalla, así como los mensajes de depuración específicos de WordPress. Esto es realmente útil cuando está trabajando en un tema e intenta verificar, digamos, un índice vacío de una matriz o termina usando una función que ya no es compatible con la versión actual de WordPress.

También hay un fantástico complemento relacionado con esta técnica que veremos más adelante en este artículo..

Además, también hay dos constantes más que puedes definir que darán aún más información que lo que éste proporcionará. Puede leer el artículo correspondiente del Codex para obtener más información, pero, en resumen, las constantes y sus definiciones son las siguientes:

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY es otro compañero de WP_DEBUG que controla si los mensajes de depuración se muestran dentro del HTML de las páginas o no. El valor predeterminado es "verdadero", que muestra los errores y las advertencias a medida que se generan. Si se establece en falso, se ocultarán todos los errores. Esto debería usarse junto con WP_DEBUG_LOG para que los errores puedan revisarse más adelante.

Fuera de la caja, WordPress mostrará todos los errores, advertencias y avisos dentro del contexto de una página. Si desea continuar con la depuración de WordPress pero desea evitar que la información se represente en la página y solo se escriba en un archivo de registro, puede establecer esta constante en falso.

Personalmente, no soy un fanático de mantener las cosas ocultas, ya que me gusta ver los problemas tan pronto como surgen (lea: tan pronto como los genere), pero todos tienen diferentes flujos de trabajo. A tal fin, si ver los mensajes en las páginas entra en conflicto con su estilo de desarrollo, defina esta constante adecuadamente junto con WP_DEBUG_LOG.

WP_DEBUG_LOG

WP_DEBUG_LOG es un complemento de WP_DEBUG que hace que todos los errores también se guarden en un archivo de registro debug.log dentro del directorio / wp-content /. Esto es útil si desea revisar todos los avisos más adelante o si necesita ver los avisos generados fuera de la pantalla (por ejemplo, durante una solicitud AJAX o la ejecución de wp-cron).

Esta es una constante útil para definir si usted es grande en la supervisión de sus registros de errores (que la mayoría de los desarrolladores debería ser). Además del registro generado por PHP, este es otro archivo que puede proporcionar información sobre lo que puede ser un problema dado y dónde está ocurriendo cada vez que esté trabajando en un tema..

Ahorradores

Esta constante es otra que será útil con algunos de los complementos que veremos más adelante en este artículo; Sin embargo, vale la pena establecer en funciones.php incluso si no tienes plugins adicionales instalados.

Primero, como el WP_DEBUG constante arriba, puedes agregar esto a funciones.php. Debe tener un aspecto como este:

define ('SAVEQUERIES', true);

Se ve bien, claro, pero ¿qué hace realmente?? Ahorradores instruye a WordPress para realizar un seguimiento de dos cosas:

  1. Todas las consultas que se ejecutan.
  2. ¿Cuánto tiempo llevó ejecutar cada consulta?

Esto interactúa directamente con $ wpdb que es la clase de base de datos de WordPress. Como se mencionó anteriormente, hay otro complemento que funciona directamente con esta constante en particular, de modo que puede ver todas las consultas desde WordPress; sin embargo, si prefiere renunciar a usar un complemento para ayudar a generar la información, simplemente defina esta constante y luego imprima el resultado de $ wpdb-> consultas a su formato de salida de elección.

Complementos

Además de configurar constantes, hay una serie de complementos potentes que creo que deberían instalarse en la instalación de WordPress de cada desarrollador que pueden proporcionar aún más ayuda cuando se utilizan con la configuración anterior.

Aunque muchos de ustedes tendrán complementos para agregar a esta lista y otros tendrán opiniones sobre cada uno de ellos, estos son los que he encontrado más útiles en mis esfuerzos de desarrollo..

Barra de debug

La barra de depuración introduce una opción en la barra de administración de su instalación de WordPress que brinda información sobre las consultas, el caché y otra información..

Este plugin se usa mejor con WP_DEBUG y Ahorradores habilitado. Tenga en cuenta que este complemento también es necesario para algunos de los complementos que estoy enumerando después de este. Es decir, tiene una serie de extensiones que lo hacen aún más poderoso..

Barra de depuración de acciones y filtros Addon

Este complemento introduce dos pestañas más dentro de la barra de depuración que le permite ver todas las acciones y los filtros (es decir, todos los ganchos) que se ejecutan en la solicitud de la página actual.

Esto es excepcionalmente útil si está creando un tema complejo o si ha heredado un código base de otra persona y está tratando de encontrar por qué están ocurriendo ciertas cosas que pueden no ser fáciles de encontrar debido a la forma en que se construye el tema. 

Consola de la barra de depuración

Desafortunadamente, este complemento en particular no se ha actualizado en un par de años, así que no sé cuánto tiempo seguirá funcionando con WordPress (a menos que alguien lo adopte para el desarrollo), pero funciona en conjunto con Debug Bar para darle la capacidad de ejecutar PHP y MySQL directamente desde WordPress.

Esto es muy útil cuando se trata de averiguar por qué, digamos, una función en su tema no se está desempeñando como debería. Es decir, puede escribir una función directamente dentro de la consola, ejecutarla y ver el resultado sin tener que saltar constantemente a su IDE, cambiar la función, actualizar y verificar el resultado.

Depuración de la barra de depuración de secuencias de comandos y dependencias de estilo

Si está trabajando con un tema que utiliza muchos estilos y muchos archivos JavaScript, especialmente aquellos que dependen de otras hojas de estilo y otros archivos JavaScript, es útil saber el orden en que se están cargando y cómo deben estar. cargado.

Ahí es donde este complemento Debug Bar entra en juego.

Nos permite visualizar el orden en que se cargan y ejecutan los scripts y los estilos, de modo que podamos realizar los cambios necesarios para garantizar que todas las dependencias se carguen de la forma en que deben estar para que nuestro tema funcione correctamente.. 

Tipos de mensajes de barra de depuración

Si su tema introduce tipos de publicaciones personalizadas en el panel, es probable que haya tenido que trabajar con una variedad de propiedades diferentes, reglas de reescritura y más. 

Puede ser complejo realmente rápido dependiendo de cuánto decida modificar las características del tipo de publicación personalizada.

Este complemento agrega otro panel a la barra de depuración, de modo que puede ver fácilmente las propiedades para cada tipo de publicación. No permite la modificación o edición sobre la marcha (como puede hacerse en la Consola de la barra de depuración o puede realizarse simplemente editando la definición de tipo de publicación personalizada), pero proporciona un formato mucho más limpio que una matriz gigante en la pantalla de un IDE.

Registrar avisos obsoletos

Este es un complemento simple que registrará el uso de archivos, funciones, argumentos, etc. antiguos en un archivo. Específicamente, cuando está escribiendo un tema, este complemento notificará cuando esté ejecutando algo que no es 100% compatible con la versión actual de WordPress. 

Para aquellos que quieran asegurarse de que están a prueba de futuro en su trabajo y que estén actualizados con las últimas API, recomiendo este complemento..

Perfilador de rendimiento de WordPress Plugin

Una de las ideas erróneas más grandes acerca de WordPress es que la ejecución de muchos complementos hace que su sitio se cargue lentamente o que muchos complementos causen la hinchazón. Eso no es verdad. Son plugins mal escritos que hacen eso. Aquellos que siguen las mejores prácticas de WordPress y los estándares de codificación deben tener un impacto mínimo en el tiempo de carga.

Dicho esto, este complemento identificará exactamente qué complementos están afectando más el rendimiento. Claro, esto puede ser útil cuando está tratando de reducir la razón por la que un sitio está funcionando lentamente, pero también es útil ejecutar contra su propio código para garantizar que tu eres no afectando negativamente el rendimiento del sitio.

Reescribir el inspector de reglas

Para cualquier persona que haya realizado un trabajo extenso con tipos de publicaciones personalizadas, rutas personalizadas o URL, o que haya tenido que aventurarse en la API de Reescritura, usted sabe los desafíos que existen..

Este complemento ayuda a proporcionar una representación visual de las reglas de reescritura para su instalación. Es útil para inspeccionar las reglas que existen dentro del tema actual, pero también es útil para ayudar a depurar cuando intenta definir un esquema personalizado y le resulta difícil a la expresión regular para hacerlo..

Probador RTL

Si está buscando comercializar su plugin para la mayor audiencia posible, entonces querrá probar cómo se ve en los idiomas que se leen de izquierda a derecha y de derecha a izquierda, también.. 

Es decir, si desea asegurarse de que ha internacionalizado correctamente su tema, entonces este complemento le permitirá ver cómo se ve su trabajo para los idiomas internacionalizados..

Si está buscando vender su tema, por ejemplo, en WordPress.com, esto es algo que debe tener..

Verificación de tema

Si está buscando asegurarse de que su tema esté actualizado con las pautas actuales de Revisión de temas de WordPress, entonces Theme Check no es negociable..

Realizará una auditoría automatizada de su tema y se asegurará de que todo su código esté a la par con las pautas actuales. De lo contrario, le mostrará una lectura clara de los problemas y enlaces a la guía que no está siguiendo. También proporciona sugerencias sobre cosas que deberías haber implementado..

Tenga en cuenta que la mayoría (si no todas) están disponibles gratuitamente desde el Repositorio de complementos de WordPress, por lo que se pueden instalar directamente desde WordPress..

Conclusión

Como he indicado en artículos anteriores, muchas de las cosas que he compartido a lo largo de esta serie son un poco subjetivas o pueden no funcionar en su entorno actual. Aunque las prácticas y herramientas que he compartido se han probado y comprobado a lo largo de mi experiencia personal al trabajar con WordPress durante varios años, también reconozco que no todos usamos el mismo conjunto de herramientas..

Como tal, esto significa que parte de la configuración, la organización y la configuración pueden variar para usted. Esta bien. En última instancia, el punto es que nosotros, como desarrolladores de temas, debemos hacer un mejor trabajo para escribir temas que se puedan mantener porque dedicamos mucho tiempo a trabajar en ellos después de su lanzamiento inicial..

Quizás algunas de las cosas sugeridas a lo largo de esta serie te ayudarán a hacer eso. Quizás deba ajustar algunas de las sugerencias para que coincidan con las herramientas que utiliza. Cualquiera que sea el caso, espero que no solo haya sido una serie útil con algunos consejos prácticos para ayudarlo en el desarrollo de su tema en curso, sino que también haya despertado el interés en establecer una base para la organización y estructura de sus proyectos..

Como de costumbre, siéntase libre de continuar la discusión con comentarios, preguntas y cualquier otro comentario general en el hilo de comentarios a continuación..