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)