Debug WordPress

Per attivare il debug di WordPress è disponibile la seguente costante nel wp-config:

define('WP_DEBUG', true);

Per creare un file di log degli errori evitando di visualizzare gli errori a schermo aggiungere nel wp-config.php le seguenti righe:

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

Il file di log viene salvato in /wp-content/debug.log. Per visualizzare il file di log direttamente in WordPress è molto utile il plugin https://wordpress.org/plugins/log-viewer/ di Markus Fischbacher

Come soluzione completa, compresiva anche di log viewer è possibile utilizzare il plugin debug

Infine per scrivere da codice nel file di log è possibile utilizzare la funzione error_log.

Potrebbe essere utile anche creare una funzione wrapping apposita per facilitare il log di oggetti o array:

if (!function_exists('write_log')) {
 function write_log ( $log ) {
 if ( true === WP_DEBUG ) {
 if ( is_array( $log ) || is_object( $log ) ) {
 error_log( print_r( $log, true ) );
 } else {
 error_log( $log );
 }
 }
 }
}

Altre istruzioni utili per influire direttamente sulla configurazione PHP in casi specifici:

/** Debug log file*/
 ini_set( 'display_errors', 0 ); //evita che gli errori vengano visualizzati a schermo
 ini_set( 'log_errors', 1 ); //abilita la registrazione degli errori
 ini_set( 'error_log', dirname(__FILE__) . '/wp-content/uploads/debug.log' ); //Indica il percorso del file di log
 ini_set( 'error_reporting', E_ALL ^ E_NOTICE ); //Esclude dal log i messaggi warnings

Risorse