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