मैं कई पोस्ट आईडी द्वारा पोस्ट कैसे प्राप्त करूं?


21

मुझे पोस्ट आईडी के साथ एक स्ट्रिंग मिली है 43,23,65:।
मुझे उम्मीद थी कि मैं get_posts()एक तर्क के रूप में आईडी के साथ स्ट्रिंग का उपयोग और उपयोग कर सकता हूं ।

लेकिन मुझे कई पोस्ट आईडी द्वारा प्राप्त करने के लिए कोई कार्य नहीं मिल रहा है।

क्या मुझे वास्तव में ए करना है WP_query?

मैंने किसी का उल्लेख करते हुए भी देखा है tag_in- लेकिन मुझे इस पर कोई दस्तावेज नहीं मिला।


क्या आपने get_posts() codex.wordpress.org/Template_Tags/get_posts के 'शामिल' तर्क का उपयोग करने की कोशिश की है ?
माइकल

जवाबों:


37

आप इसका उपयोग कर सकते हैं get_posts()क्योंकि यह उसी तरह की दलीलें लेता है WP_Query

इसे आईडी पास करने के लिए, 'post__in' => array(43,23,65)(केवल सरणियाँ लेता है) का उपयोग करें ।

कुछ इस तरह:

$args = array(
    'post__in' => array(43,23,65)
);

$posts = get_posts($args);

foreach ($posts as $p) :
    //post!
endforeach;

मैं भी निर्धारित करता हूँ post_typeऔर posts_per_pageसिर्फ अच्छे उपाय के लिए।


यह काम नहीं करता है।
डिसिडेंट रेज

नहीं? क्या आप इसे एक सरणी के रूप में पारित कर रहे हैं? दो अंडरस्कोर (post__in बनाम post_in) का उपयोग कर रहे हैं? Post_type पास कर रहा है?
कुकीज़फॉरडिवो

1
यदि आपको एक कस्टम पोस्ट प्रकार मिल रहा है, तो post_typeतर्क का उपयोग करें , और यदि आप 5 से अधिक परिणाम चाहते हैं, तो 'nopaging' => trueविकल्प जोड़ें । यदि आपके पास सरणी के बजाय अल्पविराम सेपरेटेड स्ट्रिंग है, तो सरणी में explode(',',$input);कनवर्ट करने के लिए उपयोग करें।
at१ at को ०

1
यदि आप पदों के क्रम को जिस तरह से पास arrayकरना चाहते हैं, 'order_by' => 'post__in'उसे अपने पास जोड़ना सुनिश्चित करते हैं $args
rob_st

post_typeपैरामीटर का उपयोग करने से सावधान रहें । के मामले में post, फ़ंक्शन आपके कस्टम वाले सहित सभी सामग्री प्रकारों को वापस कर देगा , न कि केवल post
फ्यूजन

3

यदि आपको काम करने के लिए ऊपर नहीं मिल सकता है, तो सुनिश्चित करें कि आप जोड़ सकते हैं post_type:

$args = array(
    'post_type' => 'pt_case_study',
    'post__in' => array(2417, 2112, 784)
);

$posts = get_posts($args);
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.