Mit dem nachfolgenden Code kann man in seinen Blog-Artikeln anzeigen lassen kann, das ein Artikel geändert wurde:
Hinweis: In diesem Artikel ist erklärt, wie man diese Funktion mit Hilfe des Plugins Advanced Custom Fields umsetzen kann.
post_modified) - strtotime($post->post_date) > 432000) {
echo "Zuletzt geändert oder ergänzt wurde er am: ",
the_modified_date('l, d.m.Y').'';
}
?>
Und hier kann man das rotgefärbte Ergebnis betrachten:
Nachteil dieses Codes ist es, das die Anzeige des Änderungstextes selbst dann erfolgt, wenn man nur ein Komma neu gesetzt oder einen Buchstabendreher nachträglich korrigiert hat.
Das macht wenig Sinn, weil solche Dinge für den Besucher nicht von Interesse sind. Der Besucher möchte – und sollte möglichst – auf eine Änderung im Artikel nur dann hingewiesen werden, wenn er auch wirklich von Belang ist.
Nur wichtige Änderungen anzeigen
Zu diesen Änderungen von Belang zählen das aktualisieren eines Sachverhaltes auf den neuesten Stand. Beispiel könnte sein, das man aktuell über ein Gerichtsverfahren schreibt, wo das Urteil noch aussteht. Oder über den Verlauf eines Projektes an dem man arbeitet.
Nun hat mich dieser Sachverhalt der ständigen Anzeige schon länger gestört. Schon seit Monaten habe ich darüber nachgedacht wie man es bewerkstelligen kann das die Anzeige des Änderungsdatums wirklich nur dann erfolgt, wenn die Aktualisierung wirklich von Interesse für den Besucher ist.
Mir schwirrte von Anfang an im Kopf herum, das man dies wohl am besten mit Hilfe der Benutzerdefinierten Felder im WordPress-Backend bewerkstelligt. Nur leider sind meine php-Kenntnisse sehr begrenzt und zum zweiten hat man dann meist ja ein Brett vorm Kopf, so das man es nicht geregelt bekommt, eine anderweitig schon angedeutet Lösung für sein Vorhaben umzusetzen.
Schon bei meinen früheren Recherchen bin ich auf einen Artikel von Jonas gestoßen, in dem er erklärt, wie man die Inhalte von Benutzerdefinierten Feldern in einem Artikel nur dann anzuzeigen lässt, wenn sie mit einem Wert gefüllt sind.
Ich hatte mir nämlich vorgestellt, das man in einem benutzerdefinierten Feld angibt ob die Anzeige im Artikel erscheinen soll oder nicht.
Benutzerdefiniertes Feld regelt Ausgabe
Heute ging mir die Lösung des Problems leicht von der Hand. Der folgende Abschnitt zeigt den jetzt aktiven Code:
ID, 'Änderungsdatum', true);
if(strtotime($post->post_modified) - strtotime($post->post_date) > 432000 && get_post_meta($post->ID, 'Änderungsdatum', true) != ''){
echo "Zuletzt geändert oder ergänzt wurde er am: ",
the_modified_date('l, d.m.Y').'';
}
else {
echo "";
} ?>
Um das Problem zu lösen muss man folgender Maßen vorgehen:
Man erzeugt im Backend ein neues Benutzerdefiniertes Feld – bei mir heißt es einfach Änderungsdatum. Dann muss man im Code für diese Aufgabe eine Variable installieren, die den Wert des Benutzerdefinierten Feldes speichert. In meinem Fall habe ich sie Aenderungsdatum genannt. Mit dem Befehl in Zeile drei nach dem doppelten & wird das Feld abgefragt, ob es mit einem Inhalt gefüllt wurde. Ist das der Fall, wird ausgegeben, was in Zeile 3 und 4 steht.
Ist das entsprechende Feld leer, wird die else-Schleife durchlaufen und nichts ausgegeben.
Gebe ich nun im Benutzerdefinierten Feld Änderungsdatum z. B. ein Ja ein, wird also der Text wie gewünscht ausgegeben. Lasse ich das Feld frei, so wird nichts angezeigt.
So kann man also dem Besucher die Änderungen eines Artikels mitteilen, wenn sie für ihn auch wirklich von Relevanz sind. Das bloße korrigieren von Rechtschreib- oder Grammatikfehlern führt also nicht gleich dazu, das dem Leser vorgegaukelt wird, der Artikel hätte eine wichtige Aktualsierung erfahren.