Proudly made on earth

WordPress: Ersten Post jedes Monats ausgeben

Es ist schon einige Monate her, dass ich die gute, alte Sidebar ein wenig aufgeräumt und das Dropdown-Menü mit den Monatsarchiven auf einer eigene Seite platziert habe. Fortan fristete es zusammen mit einer kurzen, schmucklosen Liste aller Kategorien sein Dasein im “Archiv”-Bereich. Come on, die schlechtgestalteste Seite der Welt soll all deine wunderbaren Artikel aus vergangenen Tagen beherbergen? Lange konnte die Sache nicht gutgehen, denn glücklicherweise scheine ich immer noch einen Sinn für Ästhetik zu besitzen.

Wildes Herumkritzeln im Notizbuch ergab dann das Layout, das ihr ab sofort selbst bestaunen dürft. Für jeden Monat wird, in absteigender Reihenfolge, das Thumbnail des neuesten Posts angezeigt. Selbst die Kategorien ließ ich gütigerweise bestehen, wenn ihr sie auch längst im Menü-Reiter “Themen” finden könnt. Noch herrscht hier ja keine Usability-Wüste. Ein einziges größeres Problem ergab sich bei der Umsetzung: Wie bringe ich den WordPress-Loop dazu, für jeden einzelnen Monat den neuesten Post auszugeben?

Während jeder Artikel, jede Seite, jede Kategorie und jeder Tag seine eigene ID besitzt, existiert für Monatsarchive nichts dergleichen. Die einzige Lösung fand sich in einer geschickten Konfiguration der WP_Query. Mit den Parametern 'year=2012&monthnum=12' lässt sich beispielsweise die Ausgabe der neuesten Artikel des Weltuntergang-Monats erzielen. Kombiniert man eine for- mit einer foreach-Schleife, lässt sich eine Abfrage aller Monate erzielen, in denen bisher etwas publiziert wurde. Die spezifische Anzeige der Posts lässt sich nun wie gewohnt einstellen; in meinem Fall reicht mir das entsprechende Thumbnail aus. Möchte man den Artikel oder das Vorschaubild mit dem entsprechenden Monatsarchiv verlinken, bietet sich die Funktion get_month_link an.

Für jeden Monat den ersten Post ausgeben

Für jede Kategorie den ersten Post ausgeben

Geht es um Kategorien, fällt die Umsetzung verhältnismäßig deutlich einfacher aus, da WordPress die praktischen Funktionen get_all_category_ids und get_cat_name mitbringt.

Florian Lehmuth
26. November 2011
Kategorien: , ,
Schlagworte:

Keine Kommentare

Was sagst du?