2013-06-07 3 views

उत्तर

24

3,7 के रूप में आप date_query http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

उपयोग कर सकते हैं तो यह दिखाई देगा:

$args = array(
    'posts_per_page' => 5, 
    'post_type' => 'post', 
    'orderby' => 'comment_count', 
    'order' => 'DESC', 
    'date_query' => array(
     'after' => date('Y-m-d', strtotime('-10 days')) 
    ) 
); 
$posts = get_posts($args); 
2

The exemple from the doc बस ठीक काम करना चाहिए। वास्तविक अनुरोध करने के लिए get_posts() दृश्य के पीछे WP_Query() का उपयोग करता है। आपके मामले के लिए संशोधित उदाहरण कुछ इस तरह दिखना चाहिए:

// Create a new filtering function that will add our where clause to the query 
function filter_where($where = '') { 
    // posts in the last 30 days 
    $where .= " AND post_date > '" . date('Y-m-d', strtotime('-10 days')) . "'"; 
    return $where; 
} 

add_filter('posts_where', 'filter_where'); 
$query = get_posts(array (
      'numberposts' => 5, 
      'orderby'=>'comment_count', 
      'order'=>'DESC', 
      'post_type' => array ('post') 
     )); 
remove_filter('posts_where', 'filter_where'); 
+0

मैं नहीं समझ सकता है कि यह कैसे एकीकृत करने के लिए मेरे वर्तमान कोड का समाधान। मैंने अपने प्रश्न को अपने पूर्ण कोड से अपडेट किया है, क्या आप कृपया एक नज़र डालें और दिखाएं कि आपका समाधान मेरे कोड के साथ कैसे काम करेगा? अगर यह काम करता है, तो मैं निश्चित रूप से इस उत्तर को सही के रूप में स्वीकार करूंगा। –

+1

@ हेनरिकपेटर्सन: मेरा समाधान आपके पूर्ण कोड के साथ बहुत अधिक रहेगा। आप क्या करते हैं 1 - एक कस्टम फ़िल्टर को परिभाषित करें जो आप चाहते हैं (मेरे उत्तर में "filter_where()" फ़ंक्शन, जो पिछले दस दिनों तक सीमित है), 2 - add_filter का उपयोग करके अब से सभी प्रश्नों में फ़िल्टर जोड़ें, 3 - क्वेरी चलाएं, get_post() wp_query() को कॉल करेगा जो आपके फ़िल्टर को लागू करेगा, 4 - remove_filter() के साथ फ़िल्टर को हटा दें, इसलिए यह अन्य प्रश्नों पर लागू नहीं होगा जो/करेंगे। एकमात्र परिवर्तन $ क्वेरी को $ query का नाम बदलना होगा। – Lepidosteus

+0

आप जानते हैं कि मैंने समाधान को समझ लिया है जैसे मैंने उस टिप्पणी को पोस्ट किया था। बहुत बढ़िया जवाब। स्वीकार किए जाते हैं। –

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