Auf das Artikel-Alter ohne Plugin hinweisen


Der Artikel besteht aus 396 Wörtern. Geschätzte Lesezeit: 01:35 Minuten

Heute Mittag hat Papa Bodehase auf einen Artikel kommentiert, der sich mit der Tatsache befasst, das die WordPress-Foundation alle Blog- und Webseitenbetreiber die in ihrer Domain den Begriff 'Wordpress' führ(t)en, aufgefordert hat diesen zu entfernen.

In einem zweiten Kommentar hat er dann erwähnt, das ihm erst später aufgefallen ist, das der Artikel schon älter ist.

Doch auch wenn man bei meiner Version des Permalinks mit Jahr und Tag schon das Alter eines Artikels erkennen kann, habe ich ihm daraufhin versprochen, das ich die Funktion mit der man auf das Alter eines Artikels hinweisen kann wieder einbauen werde.

Vor zwei Jahren hatte ich diese Funktion schon einmal im Blog implementiert.

Man kann dem Blog dieses Funktionalität auch mit einem Plugin hinzufügen. Doch zum einen wird Old Post Notifier nicht mehr gepflegt - das letzte Update stammt von 2009, zum anderen kann man das Plugin eben mit dem folgenden Code auch einsparen.

Ich habe diese Funktion also wieder in den Blog eingebaut. Dazu werden die folgenden 6 Zeilen Code in die Functions.php eingefügt:

1
2
3
4
5
6
7
8
9
10
function alter($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;
}

In die (Content-)Single.php kommt - dort wo die Ausgabe gewünscht wird - folgender Code hinein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php 
		if (time() - strtotime($post->post_date) > (60 * 24 * 60 * 60)){
		$last = alter(get_the_time("j/m/Y"),date("j/m/Y"),'/');
		$day = (date("d",$last) - 1);
		$month = date("m",$last) -1;
		$year = date("Y",$last) - 1970;?>
               <?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 und", " %d Jahre und", $year, 'oldpost'), $year);
		if($month == 0)
			$month = "";
		else
			$month = sprintf(__ngettext(" %d Monat und", " %d Monate und", $month, 'oldpost'), $month);
		?><div class="breadcrumb1">Dieser Artikel ist <strong><u><?php echo($year); ?> <?php echo($month); ?>  <?php echo($day); ?></u></strong> alt.<br /> Sein Inhalt kann daher in Teilen oder zur G&auml;nze nicht mehr zutreffend sein.<br />
		Falls Du aktuellere Informationen zum hier behandelten Thema suchst, nutze bitte die Suchfunktion des Blogs. Evtl. ist ein aktuellerer Artikel vorhanden.</div><hr>
		<?php }  ?>

Den Trennstrich, der mit

<hr>

erzeugt wird, habe ich wegen der bei mir vorhandenen Breadcrumb-Funktion eingefügt. Ihr könnt ihn also weglassen.

Die div-class habe ich wie folgt in der style.css formatiert:

1
2
3
4
5
.breadcrumb1{
                        background-color:#ececec;
			font-size:108%;
			padding: 3px 5px 3px 8px;
			}

Das alles dürfte sich mehr oder minder selbst erklären. Wer eine Erklärung der Funktion sucht, kann im Eingangs erwähnten Post nachlesen.

Damit habe ich mein Versprechen eingehalten! Und wer nicht direkt auf den Link schaut wird jetzt am Anfang von Artikeln, die älter als 60 Tage sind, auf diesen Umstand hingewiesen. Wer diesen Zeitraum verändern möchte, der vergrößert oder verkleinert in Zeile 2 des Codes für die (Content-)Single.php die erste Zahl (hier die 60) seinen Wünschen entsprechend.

Marcus
Über Marcus 703 Artikel
Ich freue mich über Deinen Besuch auf meinem Blog! Wenn Dir der Artikel gefallen hat, teile ihn doch mit anderen und hinterlasse Deine Meinung. Mehr über mich gibt es hier zu lesen

3 Kommentare

Kommentar hinterlassen

E-Mail Adresse wird nicht veröffentlicht.


*


CommentLuv - verlinke einen deiner Blog-Artikel