it-swarm.com.de

Geplante Beiträge auf der Archivseite anzeigen

Ich möchte, dass in der Tagesansicht meiner archive.php-Seite (is_day) geplante Posts angezeigt werden (post_status = future). Wenn ich zum Beispiel auf mysite.com 2011/05/20 gehe, werden alle geplanten Beiträge am 20. Mai angezeigt.

Die Schleife der Archivseite beginnt mit:

if ( have_posts() )
the_post();

und endet mit:

rewind_posts();
get_template_part( 'loop', 'archive' );

Muss ich eine zweite Schleife erstellen oder kann ich diese einzelne Schleife ändern, um geplante Posts anzuzeigen? Wenn das so ist, wie? Vielen Dank.

1
Ryan

Halten Sie die Dinge einfach - lassen Sie Ihre Archivvorlagen in Ruhe und platzieren Sie diese in Ihrem 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;
    }
});

Im Wesentlichen heißt es;

Wenn wir in einem Datumsarchiv sind oder einen einzelnen Beitrag anzeigen, machen Sie zukünftige Beiträge öffentlich sichtbar.

Infolgedessen verhält sich WordPress normal, wenn Sie Archive für ein bestimmtes Datum anzeigen, es sei denn, es enthält jetzt auch Posts "aus der Zukunft" !.

7
TheDeadMedic