In english — or something similar
Wenn ein Blog länger besteht, dann ist es ja fast schon ein historisches Dokument. Und so kann es interessant sein, was so vor einem Jahr im Blog passiert ist.
Zumindest stellte sich dieses Problem dem Würzblog. Eine grobe Recherche brachte mir kein Plugin für WordPress, dass mir diese Funktionalität bot. (Falls ich es einfach nur übersehen habe, dann gibt es jetzt ein Zweites.
) Also habe ich mal schnell eines selbst geschrieben. ![]()
Übersicht
Mit „A Year Before” kann man Blogbeträge anzeigen lassen, die vor einer bestimmten Zeitspanne im Blog veröffentlich wurden. So kann man in einer „historischen Ecke” zeigen lassen, was vor z. B. 30 Tagen, 6 Monaten oder einem Jahr im Blog passierte.
Das Plugin ist nach wie vor im Beta-Stadium, ich garantiere also noch nicht, dass auch alles funktioniert. Aber beim Testen ist noch nichts Schlimmes passiert … ![]()
Installation
Das Plugin aus dem WordPress-Repository herunterladen und das Verzeichnis a-year-before mit den darinliegenden Dateien in den Plugin-Ordner von WordPress schieben. Dann A Year Before bei den Plugins in der WordPress-Administration aktivieren.
Als Widget
Wenn man die Widget-Funktion von WordPress nutzt, dann ist der Rest sehr simpel. Einfach in der Widget-Verwaltung A Year Before auf die Sidebar ziehen. Bei Bedarf kann man im Popup-Dialog alles Mögliche einstellen.
Als PHP-Code
Im Template — die Sidebar bietet sich dafür an — an die Stelle, an der die Beitragsliste erscheinen soll, folgenden PHP-Code einfügen:
<?php if (function_exists("ayb_posts")) { ?>
<div class="box">
<h2>Vor einem Jahr</h2>
<ul>
<?php ayb_posts(); ?>
</ul>
</div>
<?php } ?>
Entscheidend ist die Zeile <?php ayb_posts(); ?>, hier werden die zurückliegenden Beiträge ausgegeben. Alles andere ist nur Beiwerk, das auch kurz erwähnt werden soll. Die erste und letzte PHP-Zeile sorgen nur dafür, dass keine Fehler auftritt, wenn das Plugin nicht installiert oder aktiviert ist. Das DIV ist ein Containerelement, mit dem man den ganzen Block mittels CSS gestalten könnte. Das H2 ist die Überschrift über der Liste, das UL erzeugt eine Liste — dazu später mehr.
Werden beim Aufruf von ayb_posts keine Parameter in den Klammern angegeben, dann gibt das Plugin die Beiträge inklusive Datum als Listenelemente aus, die vor einem Jahr gebloggt wurden.
Konfiguration
Die Optionen für das Plugin wird in folgender Form übergeben:
parameter1=wert1¶meter2=wert2¶meter3=wert3 ...
Folgende Parameter stehen zur Verfügung:
- day gibt die Anzahl der Tage an, vor denen die Beiträge angezeigt werden sollen.
- month gibt die Anzahl der Monate an, vor denen die Beiträge angezeigt werden sollen.
- year gibt die Anzahl der Jahre an, vor denen die Beiträge angezeigt werden sollen.
- before gibt HTML-Code an, der vor jedem alten Beitrag steht. Standardmäßig das Listenelement
<li> - after gibt HTML-Code an, der nach jedem alten Beitrag steht. Standardmäßig das Listenelementende
</li> - showdate schaltet die Anzeige des Datums vor jedem Beitrag ein (Wert=1, Standardwert) oder aus (Wert=0)
- dateformat ist für die Formatierung des angezeigten Datums vor den Beiträgen. Die Formatangaben sind analog zum PHP-Befehl
date. Als Standard dient die deutsche Datumskurzform „d.m.y”, was z. B. zur Ausgabe 27.12.06 führt. - notfound ist der Text der ausgegeben wird, wenn keine Beträge an dem Tag gefunden wurden.
- range gibt eine Anzahl von Tagen an, die in Richtung Zukunft nach Artikeln gesucht wird, wenn am gwünschten Tag kein Beitrag geschrieben wurde.
- anniversary steuert den „Jahrestag-Modus”. Wenn auf 1 gesetzt gibt das Plugin alle Artikel aus, die an diesem Tag in dem Monat über die Jahre geschrieben wurden. Die Parameters „day”, „month”, „year” und „range” werden ignoriert.
Beispiele:
ayb_posts("day=30&before=&after=&showdate=0");
Zeigt die Blogbeiträge von vor 30 Tagen an, ohne das Datum anzuzeigen. Die Beiträge werden nicht als Listenelemente ausgegeben, sondern einfach mit einem Zeilenumbruch hinter jedem Beitrag.
ayb_posts("month=6&day=14¬found=An dem Tag wurde nix gebloggt");
Die Beiträge vor einem halben Jahr und zwei Wochen werden gelistet, inklusive Datum. Wurde an dem Datum kein Artikel geschrieben, dann wird der Text „An dem Tag wurde nix gebloggt” ausgegeben.
ayb_posts(„range=14&dateformat=y-m-d”);
Schaut ob es vor einem Jahr Artikel geschrieben wurden. Wenn nicht, schaut das Plugin, ob in den nächsten 14 Tagen etwas geschrieben wurde und gibt die Beiträge vom nächstemöglichen Tag aus.
ayb_posts(„anniversary=1″);
Zeigt Beiträge an, die am selben Tag und im selben Monat wie das aktuelle Datum geschrieben wurden, unabhängig vom Jahr. Also alle Artikel, die heute vor einem Jahr, vor zwei Jahren, vor drei Jahren und so weiter geschrieben wurden.
Für Freunde des CSS gibt es auch die Möglichkeit, das Datum über die Klasse ayb_date, den Link über ayb_link und die notfound-Nachricht über ayb_notfound gestalten.
Änderungen / Changelog
0.8
- Zeige Seiten an oder auch nicht
- Entweder öffentliche oder private Artikel werden angezeigt — oder auch beide.
- Die Ausgabe kann über Muster angepasst werden: %link%, %title%, %date%, %excerpt% (Danke an Marcus von themenfreund.de für die excerpt-Idee)
- WordPress-Widget-Klasse wird verwendet (Plugin funktioniert nur ab WordPress 2.8+)
- OOP-Programmierung
0.7.1
- fix: Wegen einem Problem in der gettext-Funktion bei PHP/Apache geben manche Server Fehlermeldungen aus. Um diesen Fehler zu vermeiden, muss ich leider die Übersetzungmöglichkeit des Widgets abschalten. Die Funktionalität bleibt voll erhalten, nur die Sprache des Widgets ist nur immer Englisch.
0.7
- anniversary-Modus für die Suche an Artikeln am selben Tag in den letzten Jahren
- range-Parameter für Bereichssuche
- Beachtung von Zeitzonen
- Bugfixes
0.6.1
- Bugfix für Sidebars, die nicht „sidebar” heißen.
0.6
- Plugin kann als WordPress-Widget genutzt werden
- Lokalisierung
0.5.3
- XHTML-Bugfix (überflüssiges
span - Bugfix PHP 5 bei leeren Funktionsparameter
0.5.2
- Bugfix für tolerantere Zeitangaben (z.B. day > 364). Danke an AlohaDan für den Hinweis und Test.
0.5.1
- Anpassung an MySQL-Versionen älter als MySQL 4.1.1
0.5
- Erste öffentliche Betaversion
Download
a-year-before.zip (Version 0.7.1)

25. Februar 2009 um 15:35 Uhr
Hi,
ich stehe gerade vor einem ähnlichen problem wie manuel/agentsmith. Gibt es schon was neues diesbezüglich?
Danke!!
Pingback: WP-Plugins | BlogFrosch
7. Februar 2009 um 02:03 Uhr
Tolles Plugin und ich finde es toll, so wies im Blog erscheint, weil es zeigt eben an, ob vor genau einem Jahr ein Artikel erschienen ist.
Geht denn die gleiche Anzeige mit „Heut vor 2 Jahren” auch? Leider kann ich ja das Widget nur einmal aufrufen…
3. Februar 2009 um 01:22 Uhr
Klasse, vielen lieben Dank!
2. Februar 2009 um 23:57 Uhr
@manuel: Ich denke mir eine Lösung für das Update aus, kommt vermutlich in den nächsten Tagen.
2. Februar 2009 um 04:57 Uhr
Hi Ralf,
wenn ich es richtig sehe, gibt es keine Möglichkeit um zu beeinflussen, dass das Datum nach dem Link ausgegeben wird. Das wäre für mich aber relativ wichtig, da ich das mit blanken CSS auch nicht ausreichend beeinflussen kann.
Eine relativ einfache Lösung wäre, wenn du einen zusätzlichen Parameter einbaust, der festlegt, ob ein Aufruf der Funktion (ich nutze keine Widgets) direkt den Text per echo ausgibt (was dann Standard wäre, um abwärtskompatibel zu bleiben) oder nur per return hergibt, dann kann man sich mittels str_replace oder gar RegEx zusammenbauen was man will.
Eine andere Alternative wäre: Neben 0 und 1 auch noch die 2 als showdate zulassen, was dann für „nach dem Link” stünde und ebenfalls abwärtskompatibel wäre.
Es würde mich sehr freuen, wenn du das einbauen könntest. Ich könnte es natürlich selbst machen, aber ich hacke immer nur sehr ungern an fremden Plugins herum, wenn dann mal ein Update kommt, gibt das meist Probleme.
Danke, Manuel
24. Januar 2009 um 23:08 Uhr
Hallo Ralf,
danke für die Antwort. Aniversary-Mode ist aus. Für die Anzahl der Artikel hielt ich die Auswahl von 1 bis 10 für hilfreich.
Torsten
23. Januar 2009 um 21:39 Uhr
@torsten: Hast du beim „Range” auch gleichzeitig den „Anniversary-Mode” an? Der hätte nämlich Vorrang.
23. Januar 2009 um 20:44 Uhr
Eine Frage zum „Lookup Range” … egal welchen Wert ich dort eintrage, es werden immer nur die beiden selben Artikel von vor einem Jahr angezeigt. Läßt sich das irgendwie steuern, mache ich was falsch? Außerdem: Kann man die Anzahl der angezeigten Artikel irgendwo einstellen?
Danke,
Torsten
22. Januar 2009 um 22:27 Uhr
Feines Plugin, die Behörde dankt!
Pingback: WP 2.7 und die Sache mit den Plugins bei eisitu
11. Dezember 2008 um 17:52 Uhr
Funktioniert das Plugin unter WP 2.7 ?
Vielleicht mit in diese Liste eintragen?
2. Dezember 2008 um 21:19 Uhr
Ah! Es geht, es geht…die scheiße geht!
http://www.hisky.de/2008/11/30.….e-sidebar/
Einfach geniale Lösung
Pingback: Ppfpmfpmfmpp Pmpmmmppmmpppmfpmfmpp! bei Blogging Rööö
2. Dezember 2008 um 11:58 Uhr
Guggst du hier: http://unicode.e-workers.de/entities.php
1. Dezember 2008 um 17:23 Uhr
Öhm. Und wie geht das? Bitte um Anleitung und Hilfestellung
1. Dezember 2008 um 10:33 Uhr
@heiko: Der Code ist handgemacht — HTML-Entities.
30. November 2008 um 21:01 Uhr
Ralf…noch ne Frage
Wie hast Du es geschafft, dass WordPress den PHP Code oben nicht verschluckt und so schön anzeigt?
Hab bei mir eben ein extra Plugin für reingeladen — das den Code aber auf Schrifgröße mini runterzieht
30. November 2008 um 19:29 Uhr
Anwas?
Ich hab die Anleitung gelesen. Damals, als ich das Teil eingebaut hab. Wenn durch ein Update alles kaputt gemacht wird…

Na jut. Dann also doch manuell umtriggern.
30. November 2008 um 17:48 Uhr
@hisky: Ich weiß, dass Männer nie Anleitungen lesen, aber es hätte sich gelohnt.
Die Meldung kannst du im WIdget oder über den Parameter notfound=Bla Bla Bla frei angeben.
Das Sprachdatei wird wegen einem gettext-Fehler bei einigen Systemen momentan nicht verwendet.
30. November 2008 um 17:17 Uhr
Ralf — bei mir wird das hier angezeigt:
No articles on this date.
Hab es jetzt in der php Datei manuell eingedeutscht — aber ist doch nicht normal, dass er die dt. Sprachdatei nicht zieht, oder?
Im Admin kann / muss man eh nichts einstellen, korrekt?
27. November 2008 um 12:08 Uhr
I wrote my way of doing the parameters and function for A Year Before, on the Support Forum of WordPress. Thank you for this. http://wordpress.org/support/t.….ost-909317
Pingback: WP-Plugins | BlogFrosch
Pingback: Vor 100 Tagen… @ Dave’s Blog
10. November 2008 um 19:31 Uhr
Bei mir funktioniert es nach dem neuen Update wieder.
Stefan
10. November 2008 um 07:45 Uhr
ich betreue 4 wp-installationen die das plugin verwenden und bei denen
gibt es nach dem update keinerlei probleme. wp2.6.3de und wp2.5.1de, php5 und
mysql4.
läuft super, der anniversary-mode ist toll.
9. November 2008 um 15:32 Uhr
Und danke schon mal an Rööö, der mir dankenswerterweise einen Zugang auf sein Blog geschaffen hat, da konnte ich ein wenig testen. Denn bei mir ist der Fehler in allen lokalen Installationen und auf beiden aktiven Blogs nicht aufgetreten.
Noch weiß ich auch nicht wirklich, wie ich diese Fehlermeldung vermeiden kann. Denn sie tritt auf, wenn ich mit load_plugin_textdomain die Übersetzung laden will. Und eigentlich sollte es auch so funktionieren, aber scheinbar gab es bei WordPress schon früher damit Schwierigkeiten.
9. November 2008 um 15:24 Uhr
Wer auch die Fehlermeldung bekommt, der kann die aktuelle Development-Version herunterladen. Damit tritt der Fehler nicht mehr auf, allerdings geht damit die deutsche Übersetzung des Widgets flöten (der Fehler wurde davon verursacht).
9. November 2008 um 12:42 Uhr
Jar klar (sorry, hätte ich auch selbst dran denken können)
WordPress 2.6.3
PHP-Version: 5.2.0–8+etch11
define (›WPLANG‹, ›de_DE‹);
9. November 2008 um 12:37 Uhr
Meeeep!
Ralf, bei mir kommt der selbe Fehler…
9. November 2008 um 12:34 Uhr
@gilly & stefan: Könnt ihr mir eure WordPress– und PHP-Version sagen? Und vielleicht auch, was in der wp-config.php unter define (›WPLANG‹, ›???‹) eingetragen ist?
Leider kann ich den Fehler nicht reproduzieren und in etlichen anderen Blogs scheint es zu funktionieren.
Aber ich kümmer mich drum …
Pingback: » Also so was ….
9. November 2008 um 12:01 Uhr
Argh, sorry, hab nicht gesehen, dass die Formatierung aus der E-Mail übernommen wurde
9. November 2008 um 12:00 Uhr
Hallo,
bei mir funktionier 0.7 auch nicht! Das Blog braucht ewig zum laden und dann kommen an der Stelle, an der A Year before sitzt diese Fehlermeldung:
Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /var/kunden/webs/gilly/gilly.ws/htdocs_blog/wp-includes/gettext.php on line 91
Warning: unpack() [function.unpack]: Type V: not enough input, need 4, have 0 in /var/kunden/webs/gilly/gilly.ws/htdocs_blog/wp-includes/gettext.php on line 91
Fatal error: Maximum execution time of 30 seconds exceeded in /var/kunden/webs/gilly/gilly.ws/htdocs_blog/wp-includes/streams.php on line 92
9. November 2008 um 09:47 Uhr
Hallo,
nach dem Update auf 0.7 hat es mein Blog lahmgelegt. Ich kam zwar ins Backend aber das Blog selbst hat sich nicht mehr aufrufen lassen. Der Browser hats versucht und nur weiß gezeigt. Nach dem Deaktivieren des Plugins ging es wieder.
Stefan
8. November 2008 um 12:40 Uhr
Hi Ralf,
ich habe gerade Dein Plugin updatet und auch gleich auf anniversary Mode ›umgestellt‹.
Ein tolles Plugin — Danke dafür.
Ein Frage habe ich aber auch noch:
Bisher hatte ich das SQL-Statement etwas abgeändert um in der Liste der Artikel auch die privaten Artikel aufgelistet zu bekommen. Wer dann den Artikel selbst sehen will, muss (logisch) angemeldet sein, aber die Überschrift tauchte dann immer in deinem Widget auf. Nun gibt es das Statement gar nicht mehr. Tauchen die privaten Artikel zukünftig auf und wenn nicht wie kann ich dass wieder anschalten.
Gruß Uwe
Pingback: Leonaut.com
7. November 2008 um 22:54 Uhr
Cool, Danke für das Update!
Pingback: WordPress Plugin Releases for 11/07 | Wordpress Blog NL
Pingback: WordPress Theme Releases for 11/07 | bloground.ro - Blogging resources, WordPress themes and plugins for your development
7. November 2008 um 16:12 Uhr
hi. Thanks for plugin
perfect.
Regards
6. November 2008 um 20:48 Uhr
Eine neue Development-Version ist im WP-Repository (0.7beta10), mit der ist auch das Problem bei Mehrfachaufrufen behoben worden. Wer sich traut — bitte testen!
14. Oktober 2008 um 06:00 Uhr
@beetfreeq: Ich schaue, dass ich die neue Version in dieser Woche noch fertigbekommen, in der auch das Problem hoffentlich gelöst ist.
13. Oktober 2008 um 22:29 Uhr
Hi!
Sehr feines Plugin, muss ich sagen. Allerdings habe ich auch ein kleines Problem, um genau zu sein wohl das selbe wie Ines. Wenn ich das Plugin mehrfach hintereinander für 6 Monate, ein Jahr und danach 2 Jahre einbauen will, geht’s nach der ersten Ausführung nicht weiter und der Rest der Seite lädt nicht weiter. Weiter oben im Thread stand mal was von Variable schon initialisiert oder so — könnte es das sein? Wäre super, wenn das umgebaut werden könnte!
Danke schonmal!
26. September 2008 um 09:49 Uhr
Danke Ralf, ich hab mir die Beta mal installiert, muss aber noch 2 Tage warten um zu sehen, ob dann auch was angezeigt wird
Aber es muss irgendein Fehler drin sein, denn „vor 2 Jahren” funktionierte nicht — die Seite lud an der Stelle nicht weiter, während „vor 1 Jahr” problemlos funktioniert.
25. September 2008 um 18:41 Uhr
@ines: Du kannst mal die neue Beta ausprobieren, da müsste dieser Fehler (ich vermute ein Zeitzonen-Fehler) behoben sein.
24. September 2008 um 15:13 Uhr
Hey, ich bin grad durch Zufall über einen Fehler gestolpert. Es existiert ein Artikel vom 24.9.2007, dein Plugin zeigt heute aber den nichts-gefunden Text an. Hast du eine Ahnung, woran das liegen könnte? Es ist das erste Mal, dass mir solch ein Fehler auffällt, ich kann aber nicht sagen, wann er vielleicht das erste Mal auftrat. Ich nutze WP2.6.0
Pingback: Denis Welsch - HighEnd Life eines Arschlochs » Blog Archiv » A Year Before und Wordpress 2.6.2
Pingback: Aufräumen | Knalljas
Pingback: Plugins List pour Wordpress >> TiBo, etc. - Tout un tas de saloperies.