Wordpress Plugin: Yearly Month Archive

Das Plugin Yearly Month Archive für WordPress erzeugt, ähnlich der hauseigenen WordPress Funktion wp_get_archives(), ein nach Jahren unterteiltes Monatsarchiv. Die Ausgabe kann alternativ in Spalten, mit oder ohne kleiner Statistik, ausgegeben werden.

Hinweis: Ich übernehme kein Risiko für durch das Plugin entstandene Schäden. Bisherige Tests bei mir liefen fehlerfrei und ich bin über jeden Hinweis zur Fehlerbeseitigung oder Kritik dankbar. :)

Der Grund für das Plugin war zum Einen, dass bei der hauseigenen Funktion wp_get_archives() von WordPress, mir die Flexibilität einer jährlichen Unterteilung des Monatsarchivs fehlte. Gleichzeitig war es ein guter Gelegenheit mich endlich mal mit der Pluginerstellung zu beschäftigen.

Voraussetzung

Es wird von WordPress bzw. WordPress DE-Edition mindestens die Version 2.3 benötigt. ältere Versionen dürften auf Grund geänderter Datenbankstrukturen ohne Anpassung der entsprechenden Abfragen nicht funktionieren.

Download

Installation

  1. Entpacke das heruntergeladene Archiv und kopiere den darin enthaltenen Ordner yearly-month-archive in dein WordPress Installationsverzeichnis unter /wp-content/plugins/.
  2. Aktiviere das Plugin Yearly Month Archive in der Pluginverwaltung.

Update

  1. Deaktiviere das Plugin Yearly Month Archive in der Pluginverwaltung.
  2. Entferne die alte Version, also das Verzeichnis yearly-month-archive im WordPress Installationsverzeichnis unter /wp-content/plugins/.
  3. Entpacke das heruntergeladene Archiv und kopiere den darin enthaltenen Ordner yearly-month-archive in dein WordPress Installationsverzeichnis unter /wp-content/plugins/.
  4. Aktiviere das Plugin Yearly Month Archive in der Pluginverwaltung.

Verwendung

Ab Version 0.5 kann das Plugin auf einfache Weise in eine beliebige (statische) Seiten von WordPress eingebunden werden. Beispielsweise in eine Archivseite. Seiten kann man im Admininterface über Seiten -> Bearbeiten oder Erstellen verwalten.

Dazu wird ein Platzhalter [yearly-month-archive parameter,…] im Seitentext an die gewünschte Stelle eingetragen, welcher beim Aufruf der Seite dann mit der Archivausgabe ersetzt wird. Beispielsweise im Admininterface über Seiten -> Bearbeiten oder Erstellen.

Ein Beispiel für die Standardausgabe:

[yearly-month-archive]

Ein Beispiel mit Parametern, wie es hier im Blogarchiv verwendet wird:

[yearly-month-archive columns=5,show_stats=0,show_empty_months=1,show_post_count=1,use_container=div,show_graphic_stats=0,sort_order=1]

Will man das Archiv direkt über die Themedateien (php-Resourcen) einbinden so muss dies mit folgendem Aufruf erfolgen:

<?php if (function_exists('twp_yearly_month_archive')) : ?>
<?php twp_yearly_month_archive(); ?>
<?php endif; ?>

oder:

<?php if (function_exists('twp_yearly_month_archive')) {
twp_yearly_month_archive();
} ?>

Die Angabe der Funktion function_exists() ist notwendig, um Fehlern bei nicht aktivierter oder nicht vorhandener Funktion twp_yearly_month_archive() vorzubeugen.

Will man mehr als einen Parameter angeben, verknüpft man diese einfach mit einen ‚&‘ oder konformer ‚& amp;‘ (ohne Leerzeichen). Folgend ein Beispiel mit zusätzlichen Parametern:

<?php if (function_exists('twp_yearly_month_archive')) : ?>
<?php twp_yearly_month_archive('columns=3&show_stats=1&show_empty_months=1&show_post_count=1&use_container=div&show_graphic_stats=1&sort_order=1'); ?>
<?php endif; ?>

Eine Möglichkeit für eine Einbindung in eine extra Seite hab ich unter Eigene Archivseite für WordPress beschrieben, wobei es ab Version 0.5 dank eines Platzhalters nicht mehr benötigt wird.

Parameter

Es können folgende Parameter, welche das Aussehen und den Inhalt der Pluginausgabe beeinflussen, angegeben werden:

limit_years

  • Anzahl der zu betrachtenden Jahre, ausgehend vom jüngsten. Wird nichts angegeben werden alle verfügbaren Jahre genommen.
  • Defaultwert (keine Angabe): alle verfügbaren Jahre anzeigen
  • Bsp.: limit_years=2 … für Anzeige der letzten beiden Jahre mit Blogeinträgen

hide_current_year

  • Legt fest, ob das aktuelle Jahr in der Archivausgabe berücksichtigt wird oder nicht.
  • ‚0‘ … aktuelles Jahr wird angezeigt
  • ‚1‘ … aktuelles Jahr wird nicht angezeigt
  • Defaultwert (keine Angabe): aktuelles Jahr wird angezeigt
  • Bsp.: hide_current_year=1

columns

  • Anzahl der für die Anzeige zu verwendenden Spalten. Die angegebene Zahl muss sich zwischen 0 und 10 befinden. Ein Angabe von 0 führt zu einer einfachen Ausgabe untereinander ohne der Verwendung eines Layoutes mit Spalten.
  • Defaultwert (keine Angabe): ‚0‘ für einfache Ausgabe untereinander, ohne div und table
  • Bsp.: columns=3 … für Anzeige in 3 Spalten als Tabelle

show_empty_months

  • Zeigt immer vollständige 12 Monate eines Jahres an, auch wenn Monate keine Blogeinträge enthalten. Angabe ‚1‘ steht für anzeigen und ‚0‘ für nicht anzeigen.
  • Defaultwert (keine Angabe): keine Anzeige von leeren Monaten
  • Bsp.: show_empty_months=1 … für Anzeige von leeren Monaten

show_stats

  • Zeigt eine kleine Statistik über Blogeinträge pro Jahr, pro Monat und pro Tag an. Angabe ‚1‘ steht für anzeigen und ‚0‘ für nicht anzeigen.
  • Defaultwert (keine Angabe): keine Anzeige einer Statistik
  • Bsp.: show_stats=1 … für Anzeige der Statistik

show_post_count

  • Zeigt die Anzahl der Blogeintrag bei jedem Monat an. Angabe ‚1‘ steht für anzeigen und ‚0‘ für nicht anzeigen.
  • Defaultwert (keine Angabe): keine Anzeige der Blogbeitragsanzahl
  • Bsp.: show_post_count=1 … für Anzeige der Blogbeitragsanzahl

use_container

  • Dieser Parameter findet nur Verwendung, wenn der Parameter columns größer ‚0‘ ist.
  • Legt die spaltenweise Ausgabe mit div oder table fest. Angabe ‚div‘ steht für die Verwendung von div-Containern und ‚table‘ für die Verwendung von einer Tabelle.
  • Defaultwert (keine Angabe): Verwendung von div-Containern
  • Bsp.: use_container=div … spaltenweise Ausgabe mit div-Containern

show_graphic_stats

Wordpress Plugin: Yearly Month Archive - Balkendiagramm

Hinweis: Die Darstellung ist zum Teil recht fehlerhaft, sollte es Probleme geben dann bitte nicht verwenden.

  • Das Feature ist noch nicht perfekt und die Balkendarstellung Browserabhängig, aber es ist ein Anfang.
  • Zeigt ein Balkendiagramm für alle Blogeintrag enthaltende Jahre an. Angabe ‚1‘ steht für anzeigen und ‚0‘ für nicht anzeigen.
  • Defaultwert (keine Angabe): Keine Ausgabe des Balkendiagrammes
  • Bsp.: show_graphic_stats=1 … Ausgabe des Balkendiagrammes

sort_order

  • Dieser Parameter beeinflusst die auf- bzw. absteigende Sortierreihenfolge der Monate und Jahre des Archivs. Gültige Werte sind 0, 1, 2 und 3.
  • ‚0‘ … Jahre und Monate absteigend, neueste zu erst
  • ‚1‘ … Jahre absteigend, Monate aufsteigend
  • ‚2‘ … Jahre aufsteigend, Monate absteigend
  • ‚3‘ … Jahre und Monate aufsteigend, älteste zu erst
  • Die Grafikausgabe über den Parameter show_graphic_stats bleibt davon unberührt, sie ist wie bisher absteigend.
  • Defaultwert (keine Angabe): Entspricht Wert ‚0‘
  • Bsp.: sort_order=1 … Jahre absteigend, Monate aufsteigend

Changelog

  • 0.5.2 – Kleiner Bugfix im Stylesheet für die Grafikanzeige (03.04.2013)
  • 0.5.1 – Kleiner Bugfix für PHP Version größer 5.2 (02.04.2013)
  • 0.5 – grafische Statistik angepasst, Einbindung in Seiten vereinfacht, neuer Parameter ‚hide_current_year‘ (20.02.2009)
  • 0.4 – Sortierreihenfolge ab- oder aufsteigend für Jahr und Monat hinzugefügt, Neue Option ’sort_order‘, kleinere Anpassung des Stylesheets (22.02.2008)
  • 0.3.1 – Fehlerbehebung (css/html/php): Jahresbereiche als Div-Container wurden in Folgezeilen untereinander statt spaltenweise nebeneinander dargestellt (7.11.2007)
  • 0.3 – Logik fuer ‚columns‘ und ‚use_container‘ angepasst, Balkendiagramm ueber Archivverlauf samt Grafiken mit neuer Option ’show_graphic_stats‘ (26.10.2007)
  • 0.2 – Lizenzangabe GPL, Spaltenausgabe als Div-Layout, Einbindung eines Stylesheets, Statistikausgabe Einzahl/Mehrzahl, Codeoptimierungen (23.10.2007)
  • 0.1.1 – Behebt einen Fehler bei der Anzeige von Monaten ohne Blogbeiträge, welche sich am Anfang des Jahres befinden (20.10.2007)
  • 0.1 – Initial Release, nicht perfekt aber geschlüpft (16.10.2007)

Todos / Feature Requests

  • Lokalisierung
  • Balkengrafik überdenken