在存档页面中显示计划的帖子

时间:2011-05-09 作者:Ryan

我想要我的档案。php页面的每日视图(is\\u day)显示计划的帖子(post\\u status=future)。例如,如果我去mysite。com/2011/05/20我会看到所有的帖子都计划在5月20日发布。

存档页面的循环以以下内容开始:

if ( have_posts() )
the_post();
并以以下内容结尾:

rewind_posts();
get_template_part( \'loop\', \'archive\' );
我需要做第二个循环吗,或者我可以修改这个循环来显示预定的帖子吗?如果是,如何?非常感谢。

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

保持简单—不要使用归档模板,将其放在functions.php;

add_action( \'pre_get_posts\', function ( $wp_query ) {
    global $wp_post_statuses;

    if (
        ! empty( $wp_post_statuses[\'future\'] ) &&
        ! is_admin() &&
        $wp_query->is_main_query() && (
            $wp_query->is_date() ||
            $wp_query->is_single()
        )
    ) {
        $wp_post_statuses[\'future\']->public = true;
    }
});
本质上,它说;

如果我们正在进行日期存档,或查看一篇文章,请将未来的文章公开。

因此,当您查看任何给定日期的档案时,WordPress的行为正常,但现在它还包括“来自未来”的帖子!。

结束