मैं केवल पृष्ठ के साथ एक निश्चित पृष्ठ टेम्पलेट के साथ WP_Query
या एक फ़ंक्शन के साथ क्वेरी करना चाहूंगा जो पोस्ट ऑब्जेक्ट को लौटाएगा, लेकिन मुझे आधिकारिक कोडेक्स पर इसके बारे में कोई जानकारी नहीं मिल सकती है।
मैं केवल पृष्ठ के साथ एक निश्चित पृष्ठ टेम्पलेट के साथ WP_Query
या एक फ़ंक्शन के साथ क्वेरी करना चाहूंगा जो पोस्ट ऑब्जेक्ट को लौटाएगा, लेकिन मुझे आधिकारिक कोडेक्स पर इसके बारे में कोई जानकारी नहीं मिल सकती है।
जवाबों:
इसे आज़माएं ... टेम्पलेट का नाम 'my_template.php' है,
$query = new WP_Query(
array(
'post_type' => 'page',
'meta_key' => '_wp_page_template',
'meta_value' => 'my_template.php'
)
);
//Down goes the loop...
काम पाने के लिए आप get_posts का उपयोग कर सकते हैं , या क्वेरी पोस्ट को संशोधित कर सकते हैं । ये दोनों फ़ंक्शन WP_Query के समान पैरामीटर का उपयोग करते हैं ।
गलत: वर्डप्रेस 3 के रूप में आपको कुछ करने की आवश्यकता है:
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'my_template.php'
)
)
);
post_type
। अन्यथा आपको meta_query
एकल कस्टम कुंजी / मान युग्म के लिए सरणी की आवश्यकता नहीं है ।
meta_key
और meta_value
या एक सादे सरणी, जो कई शर्तों के साथ शामिल हो सकते हैं।
पृष्ठ टेम्पलेट कुंजी "_wp_page_template" के साथ मेटा मान के रूप में संग्रहीत किया जाता है।
तो आपको बस एक मेटा क्वेरी पैरामीटर में उस कुंजी का उपयोग करने की आवश्यकता है। उदाहरण के लिए
और http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
यदि किसी का प्रयास गलत तरीके से शून्य पोस्ट करता है, तो शायद टेम्पलेट का नाम गलत है। मैंने php फ़ाइल नाम और मेरे टेम्पलेट नाम की कोशिश की और उन्होंने काम नहीं किया। फिर मैंने तय किया कि टेम्प्लेट सेलेक्ट बॉक्स का निरीक्षण करें जहाँ हम पेज एडिटर पर टेम्प्लेट चुनते हैं। मुझे मिला:
<option value="templates-map/component-tutorial-1.php"
selected="selected">Tutorial -1</option>
मैंने इस्तेमाल किया templates-map/component-tutorial-1.php
और यह काम कर गया।
यदि आपके पास किसी अन्य फ़ोल्डर के अंदर टेम्पलेट है:
$args = array(
'post_type' => 'page', //it is a Page right?
'post_status' => 'publish',
'meta_query' => array(
array(
'key' => '_wp_page_template',
'value' => 'page-templates/template-name.php', // folder + template name as stored in the dB
)
)
);