2017-01-05 44 views
0

希望有人能幫助WordPress的使用日期範圍,previopus3個月帖子date_query

我使用這段代碼來查詢WordPress的帖子:

$query = new WP_Query(array(
'cat' => array (2, 531), // 2 is category for Archived Posts, 531 is category for Archived Competitions 
'date_query' => array(
    array(
     'column' => 'post_date_gmt', 
     'before' => '1 month ago', 
    ), 
    array(
     'column' => 'post_date_gmt', 
     'after' => '3 month ago', 
    ) 
), 
'posts_per_page' => -1, 

現在返回十二月和十一月的帖子去年,我實際上想從十二月份到十月份回覆帖子,如果我將「之後」更改爲「四個月前」,它會在八月到十二月之間回覆帖子。任何人都可以告訴我關於顯示前3級月的職位只有

感謝

+0

'3個月前'應該按照您期望的方式工作,您確定您有10月份的帖子可以返回嗎?這是一個[有用的工具](http://strtotime.co.uk/),它會告訴你與給定的字符串一起使用的日期 – GentlemanMax

+0

謝謝我做了檢查,我確實有十月的職位,但他們開始所以不會像3個月前至今那樣嚴格挑選。我已將發佈的日期更改爲31sty,因此現在可以提取它們。任何人都可以提出一個date_query,它可以讓我從3個月前的第一次獲得它們。在這一年的這個時候,你會遇到棘手的問題,並且試圖回去x個月!感謝您的工具,非常有幫助:-) – Graham

回答

0

因爲你的職位是在你需要查詢更改爲以下的月初:

$query = new WP_Query(array(
    'cat' => array (2, 531), // 2 is category for Archived Posts, 531 is category for Archived Competitions 
    'date_query' => array(
    array(
     'column' => 'post_date_gmt', 
     'before' => 'last day of 1 month ago', 
    ), 
    array(
     'column' => 'post_date_gmt', 
     'after' => 'first day of 3 months ago', 
    ) 
), 
'posts_per_page' => -1, 

使用這些值將始終返回該月的最後/第一天。

+0

這真棒,看起來像它的工作完美!謝謝你的回答,它一直在竊聽我,並沒有在網絡上或任何地方在Codex上找到它。 – Graham

+0

沒問題。 'WP_Query'使用['strtotime()'](http://php.net/manual/en/function.strtotime.php)類似於語法,因此您可以查找有趣的方法來在該頁面上生成日期。 – GentlemanMax