Zugegeben, der große Programmierer bin ich nicht und werde ich wohl auch nie werden.
Aber da ich mich für die Materie interessiere, versuche ich immer wieder ein bisschen mehr selbst zu programmieren oder mir zumindest Funktionen aus vorhandenen Code-Schnippseln hinzubasteln.
So auch bei dem Wunsch, bei Artikeln die älter sind als x Tage daraufhinzuweisen, das der Inhalt evtl. nicht mehr dem aktuellen Stand entspricht.
Wir sind hier zwar nicht im Land der unbegrenzten Möglichkeiten, wo man z. B. jemanden darauf hinweisen muss, das wenn er etwas heißes isst er sich auch den Mund verbrennen kann - oder ähnliche eigentlich selbstverständliche Dinge.
Denn schaden kann es ja nie.
Schließlich kann ein Gerichtsurteil über das man vor einem Jahr geschrieben hat, heute schon der berühmte Schnee von gestern sein.
Aber wie fängt man das an?
Ich habe erst gegoogelt und im Forum von WordPress Deutschland gesucht, bis mir siedendheiß einfiel, das ich mir ja von Tanja aka crazytoast den Code bei den Kommentaren eingebaut hatte, der - wenn ein Artikel älter als x Tage ist - das URL-Feld aus- und einen Hinweistext einblendet.
Das musste doch irgendwie einzubauen gehen.
Gesagt, getan. Doch irgendwie wollte die Code-Funktion nicht so wirklich.
Ich hatte nicht nur vergessen, die Schleife zu schließen, es gab dann auch noch den einen oder anderen Fehler.
Mit Hilfe des WP-Forums gelang es mir dann, diese zu beseitigen.
Aber dann war da noch die Sache mit der div-Box. Sie sollte schließlich auch nur erscheinen, wenn der Artikel auch wirklich älter als die angegebene Zeit ist.
Doch auch das habe ich Schlußendlich noch hinbekommen. So das der Code nun folgendermaßen ausschaut:
<?php $posting_time = get_the_time('U'); ?>
<?php if ( (time() - $posting_time) > (3600*24*30) ) : ?>
<div class="box2">
<b><p class="zentriert">Da dieser Artikel älter als ein Monat ist, könnten die<br /> enthaltenen Informationen inzwischen veraltet sein.</p></b>
</div><?php endif; ?>
Die erste Zeile weist die Zeit respektive das Datum, an dem der Artikel geschrieben wurde, der Variablen posting_time zu.
In der nächsten Zeile wird geprüft, ob die Differenz zwischen dem heutigen Datum und dem Datum des Posts größer als 30 x 24 x 3600 ist. Oder direkt gesagt: Ob seither mehr als 30 Tage vergangen sind.
Solange das nicht der Fall ist, wird nichts angezeigt. Ab dem 31. Tag wird die Div-Box mit dem angegebenen Text oberhalb des Artikels eingefügt.
Das die div-Klasse erst nach dem Beginn der Schleife geöffnet und noch vor ihrem Ende wieder geschlossen wird, verhindert, das ihr Inhalt ständig - also auch dann wenn die Bedingung nicht erfüllt ist - angezeigt wird.
Somit ist keine leere Box zu sehen, und der Leser älterer Artikel bekommt den Hinweis angezeigt.
Das werde ich jetzt auch einmal auf die bislang zu sehende Box versuchen anzuwenden, welche in der Sidebar in Kürze zu lesende Artikel ankündigt. Denn das die ständig zu sehen ist, stört mich eigentlich schon so lange, wie ich sie eingebaut habe.
Danke an dieser Stelle an Tanja und die hilfsbereiten Jungs und Mädels aus dem WordPress-Forum.

Fehlen beim Code da nicht ein paar Klammern { } Ich würde bei diesem Beispiel am Ende von Zeile 2 { schreiben (vor
?>und als letzte Zeile } ?>. Weiter dürfte auch</php?gt;keine richtige Anweisung sein sondern stattdessen?>. Fällt mir nur gerade so aufÜbrigens habe ich solche Abfragen öfter bei mir im Theme. Aber Achtung, die funktionieren nur in der single.php und der comments.php.
In der sidebar.php dürftest Du damit Schwierigkeiten kriegen. Hier rate ich zu einer eigenen Sidebar für ältere Artikel. Ich hab vor einiger Zeit mal beschrieben, wie man dem Tag Archiv eine eigene Sidebar zuweist.
Für eine eigene Sidebar eine zusätzliche Sidebar Datei anlegen, z.B. sidebar-alte_artikel.php und dann in der single.php wo die Sidebar aufgerufen wird, eine Schleife zum Aufruf der entsprechenden Sidebar einbauen, wie z.B.:
<?php $posting_time = get_the_time('U');if ( (time() - $posting_time) < (3600*24*90) ) { //jünger als 90 Tage
get_sidebar();
} else {
get_sidebar('alte_artikel');
} ?>
Hallo Tanja!
Danke, das Du mich da auf einige Fehler aufmerksam gemacht hast.
Vor lauter & lt; und & gt (ohne Leerzeichen) hab ich da wohl nicht mehr durchgeblickt. Denn WP wandelt ohne die Maskierung in diese Schreibweise den Code ja sofort um.
In die Sidebar bringe ich das ja auch nicht. Wie hier (http://themenfreund.de/wordpress/die-rubrik-sammelsurium) z. B. steht das oberhalb des Artikels.
Und das scheint so zu funktionieren.
Die Schreibweise mit den geschweiften Klammern macht bei mir ja Probleme. Ich erinnere da nur an deinen Wikio-Code. Ohne haut es bei mir hin, mit { und } meckert WP.
[...] Besucher hat es nicht gezogen. Und bis auf den tweet zu diesem Artikel gab es auch nicht wirklich Reaktionen. Der Artikel hatte als einziger einen Retweet und erreichte [...]