Depurar AJAX o funciones del cron en WordPress con un log
Si trabajáis con WordPress, probablemente en más de una ocasión hayáis hecho esto en el wp-config.php para ver los errores que estáis buscando:
define('WP_DEBUG', true);
Sin embargo, hacer esto y solamente esto tiene una serie de problemas y limitaciones:
- No podemos depurar el AJAX que ejecutamos llamando a admin-ajax, porque el error no se vierte en la pantalla
- Si tenemos tareas programadas, tampoco veremos si generan errores
- En un sitio en producción no podremos mostrar por seguridad y por funcionalidad mensajes, por lo que deberemos guardar los errores en un log
Con la solución de guardar los errores en el log, evitamos todos estos problemas y le damos una solución rápida y práctica.
¿Cómo activar el log en WordPress para que guarde los errores, avisos e informaciones que de otra forma saldrían en pantalla?
Sólo deberemos hacer dos cosas. Asegurarnos de que existe un fichero debug.log en el raíz (podéis crearlo en blanco para evitar problemas de permisos) de la carpeta wp-content y que WordPress puede escribir sobre él.
Una vez hecho esto, en el wp-config.php sólo deberemos agregar tres líneas en lugar de una:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); // para que sí guarde los errores en el log define('WP_DEBUG_DISPLAY', false); // para que no muestre los errores en la pantalla
Seguro que os será de utilidad. ¿Más dudas sobre cómo depurar WordPress?