2010-03-18 10 views
9

एक described here के समान विधि का उपयोग करके, मैं पृष्ठ लोड करते समय वर्डप्रेस में किए जा रहे प्रश्नों की कुल संख्या देख सकता हूं।वर्डप्रेस द्वारा किए गए सभी डेटाबेस प्रश्नों को कैसे प्रदर्शित करें?

अब मैं एक पृष्ठ लोड होने पर किए जा रहे सभी डेटाबेस प्रश्नों को प्रदर्शित करना चाहता हूं। यह मुझे देखने के लिए अनुमति देगा कि मेरे सबसे बड़े संसाधन हॉग कौन हैं, मेरे सभी प्लगइन और थीम स्क्रिप्ट के उन्मूलन की प्रक्रिया के बिना।

वर्डप्रेस द्वारा किए गए सभी डेटाबेस प्रश्नों को प्रदर्शित करने का सबसे अच्छा तरीका क्या होगा?

उत्तर

34

यदि आप अपनी कॉन्फ़िगरेशन फ़ाइल में 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

+0

धन्यवाद print_r उपयोग कर सकते हैं, इस चाल किया था। अब मुझे सिर्फ प्रश्नों को समझने की जरूरत है। – mattz

+0

अच्छा, धन्यवाद – Musa

+0

बस एक नोट है कि यदि आप हाइपरडब का उपयोग करते हैं, तो आपको इसे db-config.php में करना होगा: $ wpdb-> save_queries = परिभाषित ('सुरक्षा') और सुरक्षा; –

5

या आप posts_request में हुक कर सकते हैं। आप अपने विषय पाद लेख में 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; 

} 

अंदर COE डाल सकते हैं, आप की तरह

print_r($GLOBALS['debugku']); 
+0

सुझाव के लिए धन्यवाद। मुझे पसंद है कि इसे कोर फाइलों को संपादित करने की आवश्यकता नहीं थी, और मुझे लगता है कि यह काम करता है, लेकिन मैं 100% निश्चित नहीं हूं। यह समझने के लिए थोड़ा मुश्किल था कि यह क्या उत्पादन करता है। डेटा दुर्लभ प्रतीत होता था, लेकिन मुझे लगता है कि यह सब एक पंक्ति पर हो सकता है और मैं इसे सब कुछ नहीं देख सका। मैं ऊपर रिचर्ड एम के सुझाव के साथ गया और यह सब एक अच्छी तरह से तैयार सूची में आउटपुट किया। – mattz

+0

हे, पुराने ज्ञान की तरह कह रहा है: रोम के लिए बहुत सी सड़क; डी – justjoe

संबंधित मुद्दे