Shortcodes im WordPress HTML Widget erlauben
WordPress Shortcodes sind kleine Code-Ausdrücke wie z.B. [shortcode] und werden in eckigen Klammern geschrieben. Sie können vielseitig eingesetzt und für die Ausgabe von benutzerdefinierten Inhaltselementen genutzt werden, ohne dafür Kenntnisse in PHP, HTML oder CSS zu benötigen.
Ein Shortcode kann also vordefinierte Template-Bestandteile oder formatierte Inhaltselemente ausgeben, welche zuvor von einem Theme- oder Plugin-Entwickler erstellt wurden. Die Anwendung von Shortcodes ist schnell und einfach, um komplexere Inhalte z.B. innerhalb des WordPress-Editors auszugeben.
Ein Shortcode kann bspw. folgendermaßen aussehen. Bei diesem Beispiel handelt es sich um einen Button-Shortcode, welcher einen Link automatisch als einen hervorgehobenen Button darstellt:
Wie kann ich Shortcodes im HTML Widget ausgeben lassen?
Jedoch funktionieren Shortcodes standardmäßig nur dann, wenn wir sie im WordPress-Editor eingeben. Möchten wir die Vorzüge eines Shortcodes allerdings auch in benutzerdefinierten WordPress HTML Widget nutzen, werden Inhaltselemente nicht korrekt dargestellt. Da dieses Widget die kleinen kurzen Code-Ausdrücke standardmäßig nicht versteht.
Dafür gibt es jedoch eine Lösung. Mit Hilfe des WordPress-Hooks widget_text
(?) können wir zwei kleine Filter dazu verwenden, um Shortcodes auch im WordPress Widget zu erlauben. Genau genau genommen, wird dieser Filter für das HTML Widget angewendet. Anders als beim HTML Widget, welches die Eingabe von benutzerdefinierten HTML-Code erlaubt, versteht das Text Widget Shortcodes automatisch.
Füge die folgenden Code-Schnipsel z.B. in die functions.php Datei deines Themes oder Child Themes ein, um Shortcodes zu erlauben:
Dieser Filter kann durchaus sehr hilfreich sein, wenn wir die WordPress Sidebar mit besonderen Inhalten erweitern möchten, welche nicht durch die Standard-Widgets abgedeckt werden. So wird zukünftig auch die Verwendung von Shortcodes im HTMl-Widget möglich.
Shortcodes in benutzerdefinierten Feldern erlauben
Wenn wir in unserem WordPress Theme oder Plugin mit benutzerdefinierten Feldern arbeiten, welche ebenfalls die Ausgabe von Shortcodes unterstützen sollen, müssen wir den Feldwert innerhalb der WordPress-Funktion do_shortcode() ausgeben. Ansonsten wird ein Shortcode, wie auch im HTMl-Widget, nicht erkannt: