Platzhalter für das Text-Widget nachrüsten

Die Zeiten ändern sich.

Dieser Beitrag scheint älter als 4 Jahre zu sein – eine lange Zeit im Internet. Der Inhalt ist vielleicht veraltet ...

Jedes Jahr wieder vergessen viele das Jahr in den Fußzeilen ihrer Websites zu aktualisieren. Ein nicht aktualisiertes Jahr signalisiert aber jedem Besucher, dass hier womöglich nichts mehr passiert, Inhalte nicht aktuell sind oder das Website-Team sich nicht um Details kümmert. Der erste Eindruck ist wichtig, daher sollten wir das nicht manuell machen müssen. Wozu haben wir schließlich Computer? 😉

Eine schöne Sammlung von einfachen Snippets zum Kopieren finden sich auf http://updateyourfooter.com/.

Manche Themes haben eigene Copyright-Footer-Optionen, die nur über Child-Themes angepasst werden können und nicht via Filter, andere Themes haben so eine Zeile gar nicht oder mit fest vorgegebenen Inhalten. Egal was die Gründe dafür sind, es gibt die Möglichkeit den Copyright-Hinweis einfach in ein Text-Widget zu packen. Aber dann muss ich mich jedes Jahr daran erinnern, dass ich die Jahreszahl hoch setze. Nach einem Jahr wird dieser Vorsatz jedoch schnell vergessen und die Besucher wundern sich über ein „2015“ in der Fußzeile …

Bauen wir uns also einen Platzhalter, der immer das aktuelle Jahr ausgibt. Damit wir nicht versehentlich das Wort an Stellen ersetzen, wo wir das gar nicht wollen, benutze ich die geschweiften Klammern um den Platzhalter herum. Das Skript ersetzt einfach alle Vorkommnisse von {{year}} mit dem aktuellen Jahr in allen Text-Widgets, ausgegeben via PHP-Befehl date('Y'). Das Skript ergibt gerade mal vier Zeilen:

function filter_text_widget_for_placeholders( $content ) {

  $content = preg_replace('/{{year}}/', date('Y'), $content );

  return $content;
}

add_filter('widget_text', 'filter_text_widget_for_placeholders');

Und schon können wir in einem Text-Widget die Jahreszahl ausgeben:

© {{year}}

Aber wenn wir schon dabei sind, können wir ja auch noch ein paar mehr Platzhalter bauen. Für den Site-Namen, die Site-Beschreibung, die Site-URL, den Feed, den Kommentar-Feed oder einen kombinierten Login/Logout-Link.

function filter_text_widget_for_placeholders( $content ) {

  $content = preg_replace('/{{year}}/', date('Y'), $content );
  $content = preg_replace('/{{site-name}}/', get_bloginfo( 'name' ), $content );
  $content = preg_replace('/{{site-description}}/', get_bloginfo( 'description' ), $content );
  $content = preg_replace('/{{site-loginout}}/', wp_loginout( '', false ), $content );
  $content = preg_replace('/{{site-url}}/', get_bloginfo( 'url' ), $content );
  $content = preg_replace('/{{feed-link}}/', get_bloginfo('rss2_url'), $content );
  $content = preg_replace('/{{comment-feed-link}}/', get_bloginfo('comments_rss2_url'), $content );

  return $content;
}

add_filter('widget_text', 'filter_text_widget_for_placeholders');

So können wir uns recht komplexe, individuelle Fußzeilen zusammenstellen, die dynamisch generiert werden und so auch Umzüge, Domain-Änderungen und Jahreswechsel überstehen, ohne dass wir eingreifen müssen.

<p>&copy; {{year}} <a href="{{site-url}}">{{site-name}} {{site-description}}</a> | {{site-loginout}} | <a href="{{feed-link}}">Feed</a> | <a href="{{comment-feed-link}}">Kommentar-Feed</a></p>

Wohin mit dem Code?

Da gibt es zum Beispiel diese Möglichkeiten:

  • Per Code-Snippet Plugin.
  • Ein eigenes Functionality Plugin bauen.
  • Oder den Code in die functions.php einbauen. Aber nur, wenn du ein Child-Theme hast, sonst überschreibt das nächste Update des Themes deinen Code ja wieder.

Du hast noch mehr Ideen für Platzhalter? Oder du kennst noch einen Ort/Filter, wo diese Technik sinnvoll eingesetzt werden kann? Dann freue ich mich über einen Hinweis in den Kommentaren!

9 Antworten auf Platzhalter für das Text-Widget nachrüsten

  1. Hallo Torsten,

    ich stellte mal die Behauptung auf, dass es den Copyright-Footer nicht mehr geben muss. Er ist rechtlich doch nicht erforderlich, oder etwa doch? Wenn er vergessen wird, d.h. nicht gepflegt wird, dann hat es eine nicht professionelle Wirkung auf die Besucher finde ich.

    Gruß Frank

  2. Pingback: Hallo Blog, lebst du noch? – #Projekt26 | staude

  3. Nach meinen Informationen soll der Copyright-Vermerk auch dokumentieren, wann ein Werk (ein Bild, ein Text) wo zuerst veröffentlicht wurde. Zeigt ein Widget eine fortlaufend angepasste Jahreszahl an (© {{year}} …), lässt sich das ursprüngliche Veröffentlichungsdatum nicht mehr nachvollziehen. (Vgl. Do copyright dates need to be updated?)

    Um das Copyright wie bei deiner eigenen Website auszugeben („© 2012-2020 Torsten Landsiedel“) müsste der Code also ein wenig angepasst werden: © 20??&mdot;{{year}} mit der Jahreszahl der Erstveröffentlichung.

    • lässt sich das ursprüngliche Veröffentlichungsdatum nicht mehr nachvollziehen

      Wir sprechen ja über die Jahreszahl im Footer der Website. Da passt diese Argumentation nicht wirklich. Für neue Artikel müsste ja das aktuelle Jahr genommen werden. Für ältere Artikel das ursprüngliche Jahr der Veröffentlichung. Das ist ja weder praktikabel, noch rechtlich erforderlich.

      Da es ja keinen rechtlichen Zweck gibt, könnte man das Jahr auch der Einfachheit halber einfach weglassen. Aber dann hätte ich keinen Artikel geschrieben … 😉

  4. Schöne, minimalistische Lösung! Bringt mich auf den Gedanken bzw. die Frage, was sich mit preg_replace() sonst noch so anstellen ließe, vielleicht in Verbindung mit the_content… 😊 Aber weniger ist hier wahrscheinlich mehr.

    • Weniger ist definitiv mehr, wenn es um Performance geht. Bei so einer individuellen Lösung kann und sollte natürlich nur der Code genutzt werden, der auch benutzt wird.

      Bei the_content wollte ich immer schon mal testen inwieweit das verlässlich mit den üblichen Page Buildern funktioniert. Wenn die ihre Inhalte woanders speichern, dann nützt mir der Filter nämlich nichts mehr …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert