使用類似於described here的方法,我可以看到在加載頁面時在Wordpress中進行的查詢的總數。如何顯示Wordpress所做的所有數據庫查詢?
現在我想顯示加載頁面時正在進行的所有數據庫查詢。這樣可以讓我看到我最大的資源是誰,而不必去除我所有的插件和主題腳本。
什麼是最好的方式來顯示由WordPress的所有數據庫查詢?
使用類似於described here的方法,我可以看到在加載頁面時在Wordpress中進行的查詢的總數。如何顯示Wordpress所做的所有數據庫查詢?
現在我想顯示加載頁面時正在進行的所有數據庫查詢。這樣可以讓我看到我最大的資源是誰,而不必去除我所有的插件和主題腳本。
什麼是最好的方式來顯示由WordPress的所有數據庫查詢?
如果您將define('SAVEQUERIES', true)
添加到您的配置文件中,則可以通過將以下內容添加到您的主題中,列出爲當前頁面所做的所有查詢。
if (current_user_can('administrator')){
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
}
詳情請參見文檔:http://codex.wordpress.org/Editing_wp-config.php#Save_queries_for_analysis
,或者你可以掛接到posts_request。你可以把裏面COE的functions.php如
add_filter('posts_request','debug_post_request'); // debugging sql query of a post
function debug_post_request($sql_text) {
$GLOBALS['debugku'] = $sql_text; //intercept and store the sql<br/>
return $sql_text;
}
在你的主題頁腳,你可以使用的print_r像
print_r($GLOBALS['debugku']);
謝謝,這並獲得成功。現在我只需要理解這些查詢。 – mattz 2010-03-19 14:22:57
不錯,謝謝 – Musa 2014-03-20 11:29:21
請注意,如果你使用Hyperdb,你需要在db-config.php中執行:$ wpdb-> save_queries = defined('SAVEQUERIES')&& SAVEQUERIES; – 2014-04-13 01:11:25