मैंने WP_Query और get_posts दोनों का उपयोग किया है। मेरे साइडबार टेम्पलेट्स में से एक पर, मैं 'category_to_load' की कुंजी के साथ कस्टम फ़ील्ड्स का उपयोग कर किसी विशेष श्रेणी से पोस्ट प्रदर्शित करने के लिए निम्न लूप का उपयोग करता हूं जिसमें श्रेणी स्लग या श्रेणी का नाम होता है। वास्तविक अंतर किसी भी विधि के कार्यान्वयन में आता है।
get_posts विधि लगता है कि इतने में मेरे टेम्पलेट में से कुछ:
कहाँ WP_Query कार्यान्वयन इस तरह दिखता है:
$blog_posts = new WP_Query('showposts=15');
while ($blog_posts->have_posts()) : $blog_posts->the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>" class="blog_post">
<div class="title">
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<span class="date"><?php the_time('F jS, Y') ?> <!-- by <?php the_author() ?> --></span>
</div>
<div class="entry">
<?php the_content(); ?>
</div>
<p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?> Posted in <?php the_category(', ') ?> | <?php edit_post_link('Edit', '', ' | '); ?> <?php comments_popup_link('No Comments »', '1 Comment »', '% Comments »'); ?></p>
</div>
<?php endwhile; ?>
मुख्य अंतर किया जा रहा आप पुनर्स्थापित करने के लिए की जरूरत नहीं है कि वैश्विक $ पोस्ट वैरिएबल और जब आप WP_query का उपयोग करते हैं तो आपको प्रत्येक पोस्ट ऑब्जेक्ट पर setup_postdata ($ पोस्ट) को कॉल करके पोस्ट डेटा सेट अप करने की आवश्यकता नहीं होती है। आप WP_Query फ़ंक्शन पर सुंदर है_पोस्ट() फ़ंक्शन का भी उपयोग कर सकते हैं, जो get_posts() का उपयोग करके उपलब्ध नहीं है।
आप query_posts() फ़ंक्शन का उपयोग नहीं करना चाहिए जब तक आप वास्तव में, क्योंकि यह पेज के लिए मुख्य पाश को संशोधित करने के लिए मतलब है। docs देखें। इसलिए यदि आप अपने ब्लॉग को प्रदर्शित करने के लिए एक विशेष पृष्ठ बना रहे हैं, तो query_posts को कॉल करना पृष्ठ के लूप को गड़बड़ कर सकता है, इसलिए आपको WP_Query का उपयोग करना चाहिए।
यह सिर्फ मेरे दो सेंट है। मेरा अंतिम सुझाव, आपकी पहली पसंद WP_Query होना चाहिए।
-क्रिस
स्रोत
2009-02-21 17:33:34
कैसे आप पोस्ट बच्चों (संलग्नक, संशोधन आदि) का उपयोग होगा:
लेकिन फिर से, एक आम स्थिति
query_posts()
के लिए एक सुंदर तरीका है अपनी सामग्री क्वेरी करने के लिए है। क्या यह एक अलग सवाल होगी? – meleyalआप get_children() फ़ंक्शन का उपयोग कर सकते हैं: http://codex.wordpress.org/Function_Reference/get_children। या आप wp_list_pages उपयोग कर सकते हैं - wp_list_pages ('title_li = & child_of =' $ पोस्ट> आईडी 'और SHOW_DATE प्रदर्शन = संशोधित और DATE_FORMAT = $ DATE_FORMAT'।।); ?>: यदि आप एक सूची चाहते हैं तो http://codex.wordpress.org/wp_list_pages। -सी –