Posts for next month

时间:2014-04-22 作者:Tired_Man

如何将设置为“未来”的帖子显示在循环中?我正试图找出如何在未来几个月内获得帖子。因此,如果我们在四月,我想显示五月的帖子。可以将其视为即将发布的帖子。

我一直在看

http://codex.wordpress.org/Function_Reference/WP_Query#Date_Parameters 我也一直在看这个:

http://joshpress.net/blog/using-new-date-queries-wordpress-3-7/

下面是下个月的帖子:

<?php
//get an array of the date 2 days from now
$twodayslater = getdate( current_time(‘timestamp’) + 2*DAY_IN_SECONDS );
$args = array(
    \'date_query\' => array(
        \'before\' => array(
            \'year\'  => $twodayslater[\'year\'],
            \'month\' => $twodayslater[\'mon\'],
            \'day\'   => $twodayslater[\'mday\'],
        ),
        \'inclusive\' => false,
    ),
    \'post_status\'         => \'future\'
);
$query = new WP_Query( $args );
?>
但是没有运气!

谢谢

本。

2 个回复
最合适的回答,由SO网友:tfrommen 整理而成

这个Codex link 已经有你想要的东西了。也许你只是不知道如何使用参数。。。

我会通过date_query:

$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => array(
        \'publish\',
        \'future\',
    ),
    \'date_query\' => array(
        array(
            \'after\' => strtotime( \'now\' ),
            \'before\' => strtotime( \'+1 month\' ),
        ),
    ),
    \'posts_per_page\' => -1, // or a high number, if you want to pre-fetch post meta data
);
$query = new WP_Query( $args );

while ( $query->have_posts() ) {
    $query->the_post();

    // now you can use the_title(), the_content() etc.
}
wp_reset_postdata();
// EDIT:
如果只想显示(整个)下个月的帖子,可以尝试以下日期查询:

$date = strtotime( \'+1 month\' );
$args = array(
    \'post_type\' => \'post\',
    \'post_status\' => array(
        \'publish\',
        \'future\',
    ),
    \'date_query\' => array(
        array(
            \'year\' => date( \'Y\', $date ),
            \'month\' => date( \'n\', $date ),
        ),
    ),
    \'posts_per_page\' => -1, // or a high number, if you want to pre-fetch post meta data
);

SO网友:Douglas.Sesar

您可以尝试:

$args = array(
   \'post_type\' => \'post\',
   \'post_status\' => \'future\',
   \'showposts\' => -1
);
$posts_array = get_posts( $args );
$this_month = date( \'n\' );
$next_month = $this_month + 1;
foreach( $posts_array as $post ): setup_postdata( $post );

    $post_month = get_the_date( \'n\' );

    if( $post_month == $next_month ):
        //show what you want about each post
    endif;

endforeach;
根据您希望它在模板中的位置,您可以使用WP\\u Query代替get\\u posts函数http://codex.wordpress.org/Class_Reference/WP_Query

如果你在评论中提问,我可以为你举个例子。

结束

相关推荐

Hide all posts by an author

我们有一个名为“技术”的类别,希望在此页面上隐藏特定作者的帖子。例如,约翰·史密斯的帖子不会显示在科技类,或任何与此相关的类别,甚至搜索中。我该怎么做?我不想隐藏作者姓名,我想从搜索、分类、分类页面等中完全隐藏作者X的所有帖子。非常感谢。