2012-08-17 16 views
21

मुझे ब्लॉग पोस्ट मैन्युअल रूप से माउंट करना है, लेकिन मुझे यकीन नहीं है कि यह काम करने का सही तरीका है, यह केवल 9 पृष्ठों को लाता है, प्रत्येक 4 पदों के साथ, लेकिन ब्लॉग में 83 पोस्ट हैं!get_posts सभी पोस्ट वापस नहीं कर रहे हैं

<?php 
    $paged = get_query_var('paged'); 
    $args = array(
     'numberposts'  => 4, 
     'offset'   => $paged*4, 
     'orderby'   => 'post_date', 
     'order'    => 'DESC', 
     'post_type'   => 'post', 
     'post_status'  => 'publish', 
     'suppress_filters' => true 
    ); 
    $posts_array = get_posts($args); 
?> 

धन्यवाद वैसे भी।

+0

अपने सभी 83 पदों को दो बार जांचें "प्रकाशित" हैं। – Libin

+0

हां वे सभी प्रकाशित हैं, लेकिन मैंने देखा कि यह केवल 'श्रेणी' के साथ पोस्ट लाता है, मैं अन्य श्रेणियों सहित सभी पदों को कैसे प्राप्त कर सकता हूं? –

उत्तर

71

समस्या अपने 'numberposts' 4 पर सेट है -1 पर डाल सभी पोस्ट प्राप्त करने के लिए है:

'numberposts'  => -1, 

आप यहाँ numberposts निर्धारित नहीं करते हैं, वर्डप्रेस से पदों की संख्या खींच लेंगे अपने डैशबोर्ड सेटिंग्स (सेटिंग्स के अंतर्गत -> पढ़ना)

+3

आदमी ... आप मेरा दिन बचाते हैं .. धन्यवाद .. जिस तरह से मैं नंबरपोस्ट सेट नहीं करता हूं .. लेकिन इसमें WP से डिफ़ॉल्ट मान है इसलिए मैं इसे -1 पर सेट करने के लिए WP को मजबूर करता हूं –

+0

क्या यह अभी भी काम करता है? – Niels

+0

मेरा दिन +1 सहेजा गया ... – Si8

5

नीचे दिया गया नोट इस codex section से है।

नोट: ऑफसेट, ऊपर क्वेरी के उपयोग के साथ, एक श्रेणी उस में एक से अधिक पद है पर केवल इस्तेमाल किया जाना चाहिए अन्यथा कोई उत्पादन हो जाएगा।

तो इन-क्रम के सभी पोस्ट प्रदर्शित करने के लिए, वहाँ प्रत्येक श्रेणियों में कम से कम 2 पदों होना चाहिए।

आप सभी पोस्ट प्राप्त करने के लिए Loops आज़मा सकते हैं। The Loop in Action भी देखें।

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