Sencillo post para depurar el código PHP de nuestros themes y plugins de WordPress. Esta revisión se hace con la constante WP_DEBUG que debemos declarar en el fichero wp-config.php.
Quizás también os pueda interesar este otro post:
Sintaxis de WP_DEBUG
Esta constante al declararse con valor true activa el modo depuración, mientras que con false lo desactiva:
1 2 |
define('WP_DEBUG', true); define('WP_DEBUG', false); |
Por defecto si no se declara esta constante el modo depuración está desactivado.
Recomendaciones y avisos por pantalla
Este modo de depurar el código PHP solo es recomendable usar en instancias locales de WordPress o entornos de prueba. El motivo es que los usuarios de la web no lleguen a ver los posibles mensajes de aviso o errores.
WP_DEBUG también nos mostrará avisos de las funciones descatalogadas y argumentos que estamos usando en nuestro plugin o theme.
Éstas funciones o argumentos aún serían válidos pero se nos avisa de su descatalogación en futuras versiones de WP, así que deberíamos sustituirlas por otras funciones.
Con la visualización de estos avisos o errores por pantalla podremos afinar el código de nuestros plugins o themes y obtener una programación más eficiente.
Otras constantes para la depuración de errores en WordPress
Siguiendo la documentación oficial encontramos estas otras constantes para mejorar la depuración:
- WP_DEBUG_LOG
- WP_DEBUG_DISPLAY
- SCRIPT_DEBUG
- SAVEQUERIES
WP_DEBUG_LOG
Esta constante hace que los errores y avisos de la depuración de WordPress se almacenen en un fichero de texto en el directorio /wp-content/:
1 |
define('WP_DEBUG_LOG', true); |
Es compatible con WP_DEBUG y debe estar a true para se guarden los logs en el fichero.
WP_DEBUG_DISPLAY
Controla que los avisos o errores que se muestran por pantalla se visualicen o no, es muy útil cuando solo queremos guardar los errores en el log y que no salgan por pantalla:
1 2 |
define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_DISPLAY', true); |
SCRIPT_DEBUG
Esta constante relacionada obliga a WP a usar los CSS y Javascript originales en vez de las versiones minificadas:
1 |
define('SCRIPT_DEBUG', true); |
SAVEQUERIES
SAVEQUERIES guarda las consultas SQL de la base de datos en un array. Mostrando el contenido de dicho array sabemos las sentencias SQL que se han ejecutado en nuestro script del theme.
Además de las consultas guardadas, se almacena el tiempo de ejecución de cada una y en que función se realizó.
1 |
define('SAVEQUERIES', true); |
El array para sacar el contenido es el siguiente:
1 |
$wpdb->queries |
Con print_r() podríamos mostrar dicha info:
1 |
print_r($wpdb->queries); |