Debug Query WordPress

Per effettuare il debug delle query SQL utilizzate per la generazione di una pagina (intendo con pagina, un qualsiasi contenuto per cui anche post, categorie, tag ecc)… WordPress è sufficente aggiungere questo codice nel file functions.php del tema corrente:

<?php
function cardy_debug_queries()
{
global $wpdb;
//informazioni generali sul numero di queries eseguite
$stat = sprintf( ‘%d queries in %.3f secondi, using %.2fMB memory’,
get_num_queries(),
timer_stop( 0, 3 ),
memory_get_peak_usage() / 1024 / 1024);
echo "<!--query debug-->\r\n";
foreach ( $wpdb->queries as $query )
{
echo "$query[0]\r\n";
}
echo '<!--fine debug-->';
}
add_action( ‘wp_footer’, ‘cardy_debug_queries’, 20 );
?>

In pratica è stata creata una nuova funzione cardy_debug_queries che verrà eseguita dopo la creazione del footer (dopo che wordpress avrà richiamato l’azione wp_footer).

Bisogna inoltre aggiungere questa riga all’interno del file wp-config.php:

define('SAVEQUERIES', true);

Una volta effettuata l’operazione si vedranno tutte le query eseguite per visualizzare la pagina. Le queries saranno mostrate nel codice html della pagina  prima di </body>

Perchè tutto funzioni correttamente è necessario che all’interno del template wordpress, sia presente la chiamata alla funzione wp_footer() (solitamente si trova nel file footer.php oppure in fondo a index.php all’interno della cartella del tema)