Questa è una funzione molto interessante di WordPress utilissima per il debug, potete sapere tutte le query che vengono generate, da chi vengono generate e quanto tempo impiegano, inoltre vengono salvate in un array nel vostro database.
Attivare la funzione è molto semplice, per prima cose dovete inserire nel vostro wp-config.php il seguente define:
define('SAVEQUERIES', true);
poi nel vostro footer.php inserite questo codice:
< ?php if (current_user_can('switch_themes')){ global $wpdb; echo "<pre>"; print_r($wpdb->queries); echo "< / pre>"; } ?>
Ecco fatto ora se siete loggati e avete i giusti permessi potrete vedere nel source della vostra pagina tutte le query come in questo esempio:
[0] => Array ( [0] => SET NAMES 'utf8' [1] => 0.00018906593322754 [2] => require, require_once, require_once, require_once, require_wp_db, require_once ) [1] => Array ( [0] => SELECT option_value FROM wp_options WHERE option_name = 'siteurl' [1] => 0.0006871223449707 [2] => require, require_once, require_once, require_once, is_blog_installed ) [2] => Array ( [0] => SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes' [1] => 0.016568899154663 [2] => require, require_once, require_once, require_once, require, wp_next_scheduled, _get_cron_array, get_option, wp_load_alloptions )
Il prefisso del database non è il mio 🙂 ho rimesso il wp_ tradizionale e ovviamente queste sono solo le prime query.
Ritengo che sia una funzione molto utile per il debugging.
Ci vorrebbe un bel sistema di logging integrato. Mi viene in mente quello di sugarcrm, davvero ben fatto 😉 Che poi tanto è opensource e volendo si potrebbe “rubacchiare” se la licenza lo consente 😛
Molto utile sia per il debugging che per ottimizzare le prestazioni e vedere quali sono le query da migliorare per eliminare eventuali colli di bottiglia.