Hinweis auf das Alter eines Artikels

| 1 Kommentar

Zuletzt geändert oder ergänzt wurde er am: Samstag, 18.02.2012

Seit Tagen sitze ich ja an dem Vorhaben, auf der Startseite einen zufällig ausgewählten Artikel anzeigen zu lassen, der älter ist als x Tage. Damit stehe ich kurz vor dem Kollaps.

Aber ich habe heute doch auch tatsächlich noch einen Erfolg zu vermelden.

Nachdem ich mich ja schon in diesem Artikel gefreut habe, verkünden zu können, jetzt mit der Angabe der Tage und Monate auf das Alter eines Artikels hinweisen zu können, habe ich jetzt das dort genannte Plugin rauswerfen können.

Ab sofort zeigt nur reiner Code das genaue Alter an. Den Code dafür habe ich mir allerdings bei dem Plugin entliehen.

Und der sieht jetzt wie folgt aus:

In der functions.php stehen folgende Zeilen Code


function gunbul($time1,$time2,$brake){

list ($d2, $m2, $y2) = explode ($brake, $time2);

$time1 = get_the_time('U');
$time2 = mktime(0, 0, 0, $m2, $d2, $y2);

$last = ($time1 > $time2) ? ($time1 - $time2) : ($time2 - $time1);
return $last;
}

Da ich in php nicht sehr firm bin nur so viel:

Die Variable time1 holt sich das aktuelle Datum. Die Variable time2 stellt die arrays - also die Felder für den Tag, den Monat und das Jahr respektive deren Mehrzahl zur Verfügung

Mit den Befehlen hinter der Variablen last wird - soweit ich es weiß - immer dafür gesorgt, das der Wert der Variablen time1 immer größer ist als die der Variable time2.

Sollte das falsch sein, korrigiert mich bitte.

Dieser wird in der single.php wie fogt aufgerufen und verwandt:

<?php if (time() - strtotime($post->post_date) > (60 * 24 * 60 * 60)){<br ?="">&nbsp;&nbsp;$last = gunbul(get_the_time("j/m/Y"),date("j/m/Y"),'/');
&nbsp;&nbsp;$day = (date("d",$last) - 1);
&nbsp;&nbsp;$month = date("m",$last) -1;
&nbsp;&nbsp;$year = date("Y",$last) - 1970;
&nbsp;&nbsp;?></pre>
<div><?php   if($day == 0)   $day = "";   else    $day = sprintf(__ngettext(" %d Tag", " %d Tage", $day, 'oldpost'), $day);   if($year == 0)    $year = "";   else    $year = sprintf(__ngettext(" %d Jahr,", " %d Jahre,", $year, 'oldpost'), $year);   if($month == 0)    $month = "";   else    $month = sprintf(__ngettext(" %d Monat und", " %d Monate und", $month, 'oldpost'), $month);   ?>Dieser Artikel ist <strong><span style="text-decoration: underline;"><?php echo($year); ?> <?php echo($month); ?>  <?php echo($day); ?></span></strong> alt.
 Sein Inhalt kann daher in Teilen oder zur Gänze nicht mehr zutreffend sein.

Falls Du aktuellere Informationen zum hier behandelten Thema suchst, nutze bitte die Suchfunktion des Blogs. Evtl. ist ein aktuellerer Artikel vorhanden.
<?php   }  ?>

Zu diesem Code kann ich aufgrund meines bescheidenen Wissens folgendes sagen:

Die erste Zeile prüft, ob der Zeitraum zwischen dem heutigen Datum und dem Datum, an dem der anzuzeigende Artikel veröffentlicht wurde, größer als 60 Tage ist. In den folgenden Zeilen werden die entsprechenden Parameter festgelegt.

Das DIV in Zeile 6 ist der Anfang für den Kasten, in dem der Hinweis dargestellt wird. Er steht jetzt also nicht mehr im Bereich direkt über dem Artikel.

Die Befehle in den Zeilen 7 + 8, 11 + 12 und 15 + 16 sorgen dafür, das wenn eine der Variablen der Wert 0 zugewiesen wurde nichts ausgegeben wird.

Die Zeilen 10, 14 und 18 sorgen für die Ausgabe der Werte, denen der Zustand größer 0 zugewiesen wurde.

Original sehen letztere etwas anders aus. Die Ausgabe im Original sähe wie folgt aus: Dieser Artikel ist 1 Jahr 9 Monate 7 Tage.

Das liest sich - in meinen Augen zumindest - besch...en. Ich habe sie mit der Zeile 19 soweit ergänzt, das sie so aussieht: Dieser Artikel ist 1 Jahr, 9 Monate und 7 Tage alt.

Für mich liest sich das irgendwie angenehmer. Bestaunen könnt ihr das zum Beispiel an diesem Artikel.

Ich hoffe, ich habe es - was den Code angeht - soweit einigermaßen korrekt und was den Rest angeht verständlich erklärt. 

Ähnliche Artikel
Wer im Internet nach Informationen sucht, guckt nicht zwangsläufig als erstes darauf, wann ein Artikel - der die gesuchten Informationen enthält - geschrieben wurde. So kann es natürlich passieren, das, wenn man ...
Weiterlesen
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 ...
Weiterlesen
Anmerkung: Der Code, so wie er hier steht, ist leider fehlerhaft. Ich habe die Funktion daher wieder entfernt. Ich wollte gerne auf meiner Eingangsseite des Blogs einen Artikel anzeigen, der zufällig ...
Weiterlesen
Genaueres Alter eines Artikels
Hinweis bei älteren Artikeln
Zufälligen Artikel der älter ist als x Tage

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!