Zur Suche springen Zur Navigation springen Zum Hauptinhalt springen Zum Footer springen

WordPress bietet die Möglichkeit Beiträge zu planen und automatisch zu einem zukünftigen Zeitpunkt zu veröffentlichen. Die Funktion wird aber auch häufig dazu eingesetzt eine Kalenderfunktion zu realisieren. Stark vereinfacht funktioniert das so: Die einzelnen Termine (Beiträge) werden zunächst geplant, anschließend wird ein individueller Loop verwendet um alle Beiträge anzuzeigen die den post_status future haben. Sobald das Datum erreicht ist, ändert WordPress den Status in published, folglich verschwinden abgelaufene Termine aus dem Kalender. Auf diese Weise lassen sich sehr schön anstehende Termine, beispielsweise die Tourdaten einer Band, anzeigen. Doch leider funktionieren bei diesem Prinzip die Permalinks nicht.

Schulungen von kulturbanause

Intensive Trainings mit hohem Praxisbezug.

Geplante Beiträge nur für eingeloggte User / Admins sichtbar

Sofern man die Termine nur in einer Übersicht anzeigen möchte funktioniert die Vorgehensweise mit dem individuellen Loop einwandfrei. Alle geplanten Inhalte des Beitrags lassen sich über den Loop und über RSS-Feeds abbilden. Möchte man hingegen auch eine Detailansicht (single.php) zu jedem Termin anbieten, steht man schnell vor einem Problem. Die Detailansicht, die über den von WordPress generierten Permalink erreichbar ist, funktioniert nicht. Nur eingeloggte User können die geplanten Beiträge sehen – alle anderen Besucher sehen einen Error 404.

Alle geplanten Beiträge anzeigen

Mit folgenden Code-Snippet ist das Problem gelöst. Alle geplanten Beiträge werden angezeigt unabhängig von Kategorie, Post Type etc.
Fügt den nachfolgenden Code ganz einfach in die functions.php eures Themes ein.

/* Show future posts for all categories, post types etc. */
function show_future_posts($posts)
{
   global $wp_query, $wpdb;
   if(is_single() && $wp_query->post_count == 0)
   {
      $posts = $wpdb->get_results($wp_query->request);
   }
   return $posts;
}
add_filter('the_posts', 'show_future_posts');

Das Snippet habe ich im WordPress-Forum ausgegraben.

Geschrieben von Jonas

thumb

Jonas ist Gründer der Webdesign Agentur kulturbanause® und des kulturbanause® Blogs. Er übernimmt Projektleitung, Grafik sowie Frontend- und WordPress-Development und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Als Dozent leitet er Schulungen und Workshops. Am liebsten beschäftigt er sich mit Projekten und Themen, die ihn gleichermaßen konzeptionell als auch gestalterisch und technisch fordern.

Seminare mit Jonas Hellwig anzeigenJonas Hellwig bei Xing

Feedback & Ergänzungen – 4 Kommentare

  1. Stefan
    schrieb am 02.04.2012 um 15:41 Uhr:

    Interessant, und wie funktioniert die selbe Funktion für den öffentlichen Bereich um geplante Beiträge einfach nur anzuzeigen im Frontend? Ohne den Permalink dann natürlich.

    Antworten

Kommentar zu dieser Seite

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →

Unsere Agentur in Berlin realisiert vom durchgestylten One-Pager bis zur funktionalen Konzern-Website Projekte mit sehr unterschiedlichem Umfang. Wir haben u.a. mit folgenden Kunden erfolgreich zusammengearbeitet: