Shortcodes in Widgets aktivieren

Einer der Vorteile von WordPress ist, dass man Zugang zu extrem vielen Funktionen hat, ohne dass man eine Zeile Code schreiben muss. Shortcodes spielen dabei eine wichtige Rolle. Viele Plugins definieren Shortcodes, mit denen man zusätzliche Elemente zu seinem Content hinzufügen kann. Normalerweise werden diese über den Editor im Text einer Seite oder eines Posts verwendet. Möchte man sie allerdings in einem Bereich für Widgets verwenden, kann es gut sein, dass dein Theme das nicht unterstützt. Am Beispiel dieses Posts könnte das etwa so aussehen:

WordPress Shortcodes in Sidebar Widget

Der Shortcode [display_authors] wird einfach so ausgegeben. Das passiert, weil der WordPress Core aus der Grundeinstellung heraus den Text in Widgets nicht auf Shortcodes überprüft. Deshalb werden diese nicht verarbeitet. Man kann dies aber durch verschiedene Methoden aktivieren.

Für die sauberste Methode muss ein Theme File per FTP bearbeitet werden. Nach dem Einfügen dieser Zeile werden sämtliche Shortcodes auch in Text Widgets funktionieren. In das File functions.php muss der folgende Code eingefügt werden:

//Shortcodes in Text Widgets
add_filter('widget_text','do_shortcode');

Das ist WordPress-Sprache für «Checke auch die Text Widgets auf Shortcodes!». Nun sollten diese einwandfrei funktionieren und es sollten keine eckigen Klammern von Shortcodes mehr in deinen Widgets auftreten.

Die andere Möglichkeit ist es, das Plugin Shortcode Widget zu verwenden. Das fügt einen neuen Widget-Typ hinzu. Dieser funktioniert wie ein Text Widget, mit dem einzigen Unterschied, dass eben Shortcodes darin funktionieren. Anzumerken ist noch, dass die Lösung mit dem Plugin unabhängig vom Theme ist, wogegen die per FTP Theme-spezifisch ist. Bei einem Wechsel des Themes, muss der Code erneut eingefügt werden. Alles in allem ein einfacher Fix, der WordPress noch flexibler macht.


Zeig uns deine Liebe