La depuración del código PHP es parte de cualquier proyecto, pero WordPress viene con sistemas de depuración específicos diseñados para simplificar el proceso y estandarizar el código en el núcleo, plugins y temas. Esta página describe las diversas herramientas de depuración en WordPress y cómo ser más productivo en su codificación, así como aumentar la calidad general y la interoperatividad de su código.
Para el usuario no programador o general, estas opciones se pueden usar para mostrar la información detallada del error.
WP_DEBUG
WP_DEBUG
es una constante de PHP (una variable global permanente) que se puede usar para activar el modo de “depuración” en todo WordPress. Se supone que está en “false” de forma predeterminada y generalmente se establece en “true” en el archivo wp-config.php en las copias de desarrollo de WordPress.
define( 'WP_DEBUG', true ); define( 'WP_DEBUG', false );
NOTA: Los valores true
y false
en el ejemplo no están rodeados por apóstrofes (‘) porque son valores booleanos (verdadero/falso). Si establece constantes en 'false'
, serán interpretados como verdaderos porque las comillas lo convierten en una cadena en lugar de un booleano.
No se recomienda usar WP_DEBUG
u otras herramientas de depuración en sitios activos; están destinados a pruebas locales e instalaciones de montaje.
Errores PHP, advertencias y avisos
Habilitar WP_DEBUG
hará que se muestren todos los errores, avisos y advertencias de PHP. Es probable que esto modifique el comportamiento predeterminado de PHP que solo muestra errores fatales y/o muestra una pantalla blanca de muerte cuando se alcanzan los errores.
Mostrar todos los avisos y advertencias de PHP a menudo da como resultado mensajes de error para cosas que no parecen estar rotas, pero que no siguen las convenciones de validación de datos adecuadas dentro de PHP. Estas advertencias son fáciles de corregir una vez que se ha identificado el código relevante, y el código resultante casi siempre es más resistente a errores y más fácil de mantener.
Funciones y argumentos obsoletos
Habilitar WP_DEBUG
también provocará avisos sobre funciones y argumentos obsoletos dentro de WordPress que se están utilizando en su sitio. Estas son funciones o argumentos de función que aún no se han eliminado del código central pero que están programadas para su eliminación en un futuro próximo. Los avisos de desaprobación a menudo indican la nueva función que debería usarse en su lugar.
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 Esto es útil si desea revisar todos los avisos más tarde o si necesita ver los avisos generados fuera de la pantalla (por ej., durante una solicitud AJAX o wp-cron correr).
Tenga en cuenta que esto le permite escribir en el archivo de registro utilizando la función integrada error_log()
de PHP, que puede ser útil, por ejemplo, al depurar eventos Ajax.
Cuando se establece en true
, el registro se guarda en wp-content/debug.log
dentro del sistema de archivos de su sitio. Alternativamente, puede establecerlo en una ruta de archivo válida para que el archivo se guarde en otro lugar.
define( 'WP_DEBUG_LOG', true ); -o- define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );
Nota: Para que WP_DEBUG_LOG
haga algo, WP_DEBUG
debe estar habilitado (true). Recuerde que puede desactivar WP_DEBUG_DISPLAY
de forma independiente.
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 “true”, que muestra errores y advertencias a medida que se generan. Establecer esto en “false” ocultará todos los errores. Esto debe usarse junto con WP_DEBUG_LOG
para que los errores puedan revisarse más tarde.
define( 'WP_DEBUG_DISPLAY', false );
NOTA: Para que WP_DEBUG_DISPLAY
haga algo, WP_DEBUG
debe estar habilitado (true). Recuerde que puede controlar WP_DEBUG_LOG
de forma independiente.
SCRIPT_DEBUG
SCRIPT_DEBUG
es una constante relacionada que obligará a WordPress a usar las versiones “dev” de los principales archivos CSS y JavaScript en lugar de las versiones minificadas que normalmente se cargan. Esto es útil cuando está probando modificaciones a cualquier archivo .js o .css incorporado. El valor predeterminado es “false”.
define( 'SCRIPT_DEBUG', true );
SAVEQUERIES
La definición SAVEQUERIES
guarda las consultas de la base de datos en una array
y ese array
se puede mostrar para ayudar a analizar esas consultas. La constante definida como “true” hace que cada consulta se guarde, cuánto tiempo tardó en ejecutarse y qué función la llamó.
define( 'SAVEQUERIES', true );
El array
se almacena en el global $wpdb->queries
.
NOTA: Esto tendrá un impacto en el rendimiento de su sitio, así que asegúrese de desactivarlo cuando no esté depurando.
Ejemplo wp-config.php para depuración
El siguiente código, insertado en su archivo wp-config.php, registrará todos los errores, avisos y advertencias en un archivo llamado debug.log en el directorio wp-content. También ocultará los errores para que no interrumpan la generación de la página.
// Habilitar el modo WP_DEBUG define( 'WP_DEBUG', true ); // Habilite el registro de depuración en el archivo /wp-content/debug.log define( 'WP_DEBUG_LOG', true ); // Desactiva la visualización de errores y advertencias define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 ); // Utilice versiones de desarrollo de los archivos JS y CSS principales (solo es necesario si está modificando estos archivos principales) define( 'SCRIPT_DEBUG', true );
NOTA: Debes de insertar esto ANTES de /* That's all, stop editing! Happy blogging. */
En el archivo wp-config.php.
Plugins de depuración
Hay muchos plugins de depuración para WordPress que muestran más información sobre los componentes internos, ya sea para un componente específico o en general. Aquí hay unos ejemplos:
Comentarios recientes