Hinweis bei älteren Artikeln

| 3 Kommentare

Zuletzt geändert oder ergänzt wurde er am: Sonntag, 25.03.2012

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. 

Autor: Marcus

Ich freue mich über Deinen Besuch auf meinem Blog! Wenn Dir der Artikel gefallen hat, teile ihn doch mit anderen und hinterlasse Deine Meinung oder kontakte mich per EMail!