So ein paar Shortcodes im Titel eines Beitrags oder einer Seite können schon ganz praktisch sein. Leider ermöglicht dies WordPress von Haus aus nicht. Wer nun zum Beispiel die aktuelle Jahreszahl dort anzeigen möchte – deren Shortcode man über folgende Anleitung bekommt – muss eine kleine Anpassung vornehmen.
Theoretisch wäre diese Anpassung bei der functions.php von WordPress vorzunehmen. Diese abzuändern ist allerdings aus diversen Gründen nicht ratsam. Zum einen wären da die Updates. Mit jeder Aktualisierung besteht die Gefahr, dass die händisch getätigten Änderungen überschrieben werden. Ein weiterer Faktor ist die Dokumentation. Zumindest erachte ich es als höchst unwahrscheinlich, dass man sich nach einiger Zeit noch an den Code erinnert, und wo man diesen eingefügt hat. Demzufolge muss eine andere Lösung her.
Functions.php elegant erweitern
Diese hört auf den Namen My Custom Functions. Nach der Installation dieses Plugins können wir die functions.php erweitern, ohne dass wir irgendeinen Code an der Ursprungsdatei verändern. Um nun unsere Shortcodes im Titel verwenden zu können, wechseln wir in den Einstellungen zum PHP-Inserter. Das ist die Einstellungsseite der gerade installierten Erweiterung. Dort setzen wir den Schalter der functions.php auf On und fügen abschließend den folgenden Code ein
add_filter( 'the_title', 'do_shortcode' );
Weitere Einstellungen für Yoast SEO
Wenn die Shortcodes danach trotzdem nicht funktionieren möchten, ist vermutlich das Plugin zur Suchmaschinenoptimierung von Yoast installiert. Da dies eigene Titeleinstellungen verwendet, müssen wir unsere Programmierung entsprechend erweitern. Der gesamte einzufügende Code sieht dann so aus:
add_filter( 'the_title', 'do_shortcode' );
add_filter( 'wpseo_title', 'do_shortcode' );
Da man sich das Vorgehen bei Textbeschreibungen nicht immer so gut vorstellen kann, habe ich hier mal noch eine bildliche Aufbereitung der eben durchgegangen Tätigkeiten angefügt: