Setup_postdata ($ पोस्ट) क्या करता है?


13

कोडेक्स इसे 'ग्लोबल पोस्ट डेटा सेट अप' के रूप में परिभाषित करता है। टेम्पलेट टैग का उपयोग करने के लिए कस्टम क्वेरी परिणामों को प्रारूपित करने में मदद करता है। ' मैं वास्तव में यह नहीं समझता।

यहाँ एक कोड उदाहरण है:

global $post;
$args = array( 'numberposts' => -1);
$posts = get_posts($args);
foreach( $posts as $post) : setup_postdata($post);
echo $post->ID;
endforeach; 

कृपया आप समझा सकते हैं?

जवाबों:


16

टेम्प्लेट टैग फ़ंक्शंस संसाधित किए जा रहे पोस्ट तक पहुँचने और इससे या इससे संबंधित डेटा पुनर्प्राप्त करने के लिए वैश्विक चर पर निर्भर करते हैं।

उनमें से मुख्य चर $postजो पोस्ट ऑब्जेक्ट को स्वयं रखता है। आपके उदाहरण में यह स्पष्ट नहीं है, लेकिन क्या हो रहा है कि आपका लूप डेटा को असाइन करता है $post, यदि पुनरावृत्ति के लिए नाम नहीं था, तो $postआपको स्पष्ट रूप से ऐसा करने की आवश्यकता होगी ( global $post; $post = $some_other_post;)।

हालांकि अन्य ग्लोबल्स का गुच्छा है और इसका उद्देश्य setup_postdata()उन्हें डेटा के साथ भरना है। यदि आप स्रोत को देखते हैं तो वे हैं:

global $id, $authordata, $currentday, $currentmonth, $page, $pages, $multipage, $more, $numpages;

ध्यान दें कि ज्यादातर मामलों में आपको wp_reset_postdata()बाद में अपने मूल राज्य में ग्लोबल्स वापस करने के लिए कॉल करना चाहिए ।

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