获取X天WordPress上发布的所有帖子

时间:2018-11-15 作者:Mr Shabir

我想得到所有在X天发布的帖子,我不想要7天或1个月的帖子,因为它会返回所有7天或1个月以上的帖子。就像今天是9月15日,我想得到9月5日发布的所有帖子。只有9月5日的帖子,而不是9月5日之前的帖子。只有一天的帖子。我尝试过这样的代码

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'post\',
    \'date_query\' => array(
        \'after\' => date(\'Y-m-d\', strtotime(\'-10 days\')) 
    )
);
但它返回了10天以前的帖子。X天内有什么帮助吗?

2 个回复
SO网友:Aparna_29

您可以尝试以下代码

$y = date(\'Y\');
$m = date(\'m\');
$d  = date(\'d\',strtotime("-7 days")); //Date you want

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'post\',
    \'date_query\' => array(
        array(
            \'year\'  => $y,  
            \'month\' => $m,
            \'day\'   => $d,
        ),
    ),
);
$posts= new WP_Query( $args ); //you will get posts which are posted on specific date

SO网友:Krzysiek Dróżdż

您可以使用\'date_query\' 实现你所需要的。你所要做的就是不要使用“before”或“after”,而只使用date(就像WordPress在你转到day archive时所做的那样)。

以下是您可以使用的代码:

$date = strtotime(\'-10 days\');

$args = array(
    \'posts_per_page\' => -1,
    \'post_type\' => \'post\',
    \'date_query\' => array(
        array(
            \'year\'  => date(\'Y\', $date),  
            \'month\' => date(\'m\', $date),
            \'day\'   => date(\'d\', $date),
        ),
    ),
);
$posts= new WP_Query( $args );

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post