Shortcoder: Eigene WordPress Shortcodes definieren und nutzen

Ein WordPress Shortcode ist im Prinzip nichts anderes als ein Makro: Man fügt den Shortcode in einen Beitrag, eine Seite oder ein Widget ein, und WordPress ersetzt den Shortcode durch den vordefinierten Inhalt, sobald die entsprechende Seite angezeigt wird. Dieser Inhalt kann aus reinem Text, aber auch aus HTML- oder JavaScript-Code bestehen. Shortcodes existieren seit WordPress 2.5, allerdings versteht WordPress von Haus aus nur audio, caption, embed, gallery und video; die meisten Shortcodes werden durch Plug-ins implementiert.

Formaler Aufbau von WordPress Shortcodes

Formal sind Shortcodes sehr simpel aufgebaut: Sie stehen in eckigen Klammern und enthalten mindestens den Namen des Shortcodes:

[myShortcode]

Ähnlich wie ein HTML-Tag kann ein WordPress Shortcode zusätzliche Attribute besitzen, denen man beim Einfügen einen bestimmten Wert zuweist:

[myShortcode id="43" path="http://www.example.com/image.jpg" size="preview"]

In der Regel wird man immer dann mit Shortcodes arbeiten, wenn ein Plug-in dies erfordert. Hat man beispielsweise ein Formular mit Contact Form 7 erstellt und will dieses in eine Seite einfügen, dann benutzt man einen Shortcode, dessen Name und Attribute vom Plug-in-Entwickler vorgegeben sind. Das sieht zwar im ersten Moment etwas technisch aus, ist aber nicht wirklich kompliziert und sehr flexibel.

Eigene Shortcodes definieren mit Shortcoder

Manchmal wäre man froh, man könnte seine eigenen Shortcodes definieren, um effizient Code Snippets oder Textblöcke einzufügen. Von Haus aus bietet WordPress keine entsprechende Konfigurationsmöglichkeit, aber es gibt selbstverständlich Plug-ins dafür. Eine sehr schöne Lösung ist Shortcoder, das sowohl die Definition als auch die Verwendung eigener Shortcodes so einfach wie überhaupt möglich gestaltet.

Um Shortcodes zu erstellen oder zu bearbeiten gibt es eine Maske unter Einstellungen > Shortcoder, die absolut selbsterklärend ist: Man vergibt einen Namen für den Shortcode sowie den Code bzw. Text, der an seiner Stelle eingefügt werden soll. Falls gewünscht kann man auch Attribute einfügen, die mit einem doppelten Prozentzeichen vorne und hinten gekennzeichnet werden. Möchte man beispielsweise einen Copyright-Hinweis mit einer variablen Jahreszahl als Shortcode definierern, dann sieht dies folgendermassen aus:

WordPress Shortcodes definieren mit dem Shortcoder Plug-in
WordPress Shortcodes definieren mit dem Shortcoder Plug-in

Um diesen Shortcode in einem Blog-Beitrag zu nutzen, fügt man folgendes ein:


Damit man die exakte Syntax nicht auswendig lernen muss, fügt Shortcoder dem WYSIWYG-Editor einen Button hinzu, über den man alle verfügbaren Shortcodes inkl. deren Attribute als Maske präsentiert bekommt:

Maske zum bequemen Einfügen von eigenen Shortcodes
Maske zum bequemen Einfügen von eigenen Shortcodes

Shortcoder in der Praxis

Die Anwendungsbereiche für Shortcoder sind vielfältig. Man kann das Plug-in beispielsweise nutzen, um Textbausteine anzulegen; das spart später Tipparbeit und ermöglicht es, die Texte bei Bedarf zentral zu pflegen. Man ist dabei nicht auf reinen Text beschränkt, sondern kann auch Textformatierungen und sogar Bilder in seinen Bausteinen nutzen. Wer HTML beherrscht, kann mit Shortcodes auch komplexere Templates für bestimmte Inhaltstypen erstellen, beispielsweise wenn auf einer Website mehrer Produkte in einem identischen Layout präsentiert werden sollen: Statt dass der Content Manager jedes Produkt händisch formatieren muss (und dabei vielleicht die Design-Vorgaben missachtet), kann ihm der Webmaster einen Shortcode bereitstellen, sodass er nur noch Produktname, Beschreibung, Preis und Bildpfad einfügen muss. Auch die zahlreichen JavaScript-Snippets, die man heutzutage in eine Website integrieren muss, lassen sich über Shortcodes komfortabel verwalten. Und auch im Zusammenhang mit Mikroformaten könnte man Shortcoder einsetzen.

Kurz: Eigene Shortcodes sind für etwas komplexere WordPress-Websites eigentlich unverzichtbar, und Shortcoder ist eine sehr schöne Lösung für diesen Zweck. Man muss sich lediglich bewusst sein, dass man Shortcode-Definitionen nicht ungestraft löscht oder umbenennt: Überall dort, wo der Shortcode eingesetzt wurde, wird dann nämlich nichts mehr ausgegeben, und Shortcoder bietet auch keine Übersicht, wo welcher Shortcode benutzt wird. Als einen kleinen Nachteil empfinde ich es zudem, dass man Shortcodes nicht exportieren/importieren kann; ausserdem wäre es schön, wenn man sie in einer Multisite-Installation site-übergreifend für das gesamte WordPress-Netzwerk zur Verfügung stellen könnte.

Schreibe einen Kommentar

30 − = 21

css.php