我需要提取wordpress中最近6個月至今天發佈的所有帖子。獲取日期之間的帖子
我使用WP_Query
要做到這一點,
$today = new \DateTime();
$prev = new \DateTime();
$interval = new \DateInterval('P6M');
$prev->sub($interval);
$args = [
'post_type' => 'post',
'date_query' => [
[
'before' => $today->format('Y-m-d H:i:s'),
'after' => $prev->format('Y-m-d H:i:s'),
'inclusive' => true
]
]
];
echo '[POST] Today: ' . $today->format('Y-m-d') . "\n";
echo "[POST] Count:" . $wpQuery->post_count . "\n";
echo '[POST] Start date: ' . $prev->format('Y-m-d') . "\n";
輸出
Today: 2017-03-09
Count: 7
Start date: 2016-09-09
如果我在WordPress數據庫中的選擇,在同爲日期,我得到2086行。
SELECT COUNT(ID)
-> FROM wp_posts
-> WHERE DATE(post_date) >= '2016-09-09' AND DATE(post_date) < '2017-03-09'
-> AND post_type = 'post';
SQL輸出
+-----------+
| count(ID) |
+-----------+
| 2086 |
+-----------+
我在做什麼毛病WP_Query?爲什麼我會得到兩個不同的結果?
謝謝。
SELECT COUNT(ID),其中POST_DATE BETWEEN(「2016- 09-09 00:00:00'AND'2017-09-10 00:00:00')AND post_type ='post'; – user1544541
@ user1544541您的查詢爲我提供了WordPress內的所有帖子。 –
SELECT count(*)FROM wp_posts WHERE post_date BETWEEN('2016-09-09 00:00:00'AND'2017-09-10 00:00:00')AND post_type ='post'; – user1544541