Buscar..


Introducción

https://codex.wordpress.org/Debugging_in_WordPress

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, así como para estandarizar el código en el núcleo, los complementos y los temas.

Observaciones

Plugins para depuración en WordPress:

WP_DEBUG

WP_DEBUG es una constante de PHP (una variable global permanente) que se puede usar para activar el modo "depurar" en WordPress. Se asume que es falso por defecto y generalmente se establece en verdadero en el archivo wp-config.php en las copias de desarrollo de WordPress.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG', false );

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).

//enable
define( 'WP_DEBUG_LOG', true );

//disable
define( 'WP_DEBUG_LOG', false );

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 advertencias a medida que se generan. Establecer esto en falso ocultará todos los errores. Esto debe usarse junto con WP_DEBUG_LOG para que los errores puedan revisarse más adelante. Nota: para que WP_DEBUG_DISPLAY haga algo, WP_DEBUG debe estar habilitado (verdadero).

//enable
define( 'WP_DEBUG_DISPLAY', true );

//disable
define( 'WP_DEBUG_DISPLAY', false );

SCRIPT_DEBUG

SCRIPT_DEBUG es una constante relacionada que obligará a WordPress a usar las versiones "dev" de los archivos principales de CSS y JavaScript en lugar de las versiones mínimas que normalmente se cargan. Esto es útil cuando está probando modificaciones a cualquier archivo .js o .css integrado. El valor predeterminado es falso.

//enable
define( 'SCRIPT_DEBUG', true );

//disable
define( 'SCRIPT_DEBUG', false );

Guardias

La definición de GUARDADO guarda las consultas de la base de datos en una matriz y esa matriz se puede mostrar para ayudar a analizar esas consultas. La constante definida como verdadera hace que cada consulta se guarde, cuánto tiempo tardó en ejecutarse y qué función la llamó. NOTA: Esto tendrá un impacto en el rendimiento de su sitio, así que asegúrese de desactivarlo cuando no esté realizando la depuración.

define( 'SAVEQUERIES', true );

La matriz se almacena en el

global $wpdb->queries;

Ejemplo wp-config.php y buenas prácticas para la 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 páginas.

 // Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

// Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
define( 'SCRIPT_DEBUG', true );

Buena práctica Si desea agregar mensajes personalizados al registro de depuración, agregue el siguiente código en su complemento o tema.

//Checking is function_exists  
    if ( !function_exists( 'print_to_log' ) ) {
            //function writes a message to debug.log if debugging is turned on.
            function print_to_log( $message )
            {
                if ( true === WP_DEBUG ) {
                    if ( is_array( $message ) || is_object( $message ) ) {
                        error_log( print_r( $message, true ) );
                    } else {
                        error_log( $message );
                    }
                }
            }
        }

Ver registros en un archivo separado

Cuando tiene una llamada ajax, es extremadamente difícil obtener un registro desde dentro de la función de devolución de llamada. Pero si habilitas la depuración

define('WP_DEBUG', true);

y luego, después de eso, agrega

ini_set('log_errors',TRUE);
ini_set('error_reporting', E_ALL);
ini_set('error_log', dirname(__FILE__) . '/error_log.txt');

tendrá un archivo error.log.txt en su carpeta raíz donde se encuentran todos sus registros. Incluso puedes registrarlos con

error_log( print_r( 'what I want to check goes here', true) );

dentro de tu codigo Esto hará que tu vida sea mucho más fácil.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow