Eine der Neuerungen in WordPress 2.5, die im Vergleich zur gleichermaßen akklamierten wie spontan abgelehnten Administrationsoberfläche recht unauffällig bleibt, ist das Shortcode-API. WordPress führt damit ein auch von anderen CMSen gewohntes Verfahren ein, mit dem Autoren über eine einfache “Kurzschrift” direkt aus einem Beitragstext auf komplexe Funktionen zugreifen können. Dazu wird die gewünschte Funktion, in eckigen Klammern eingefasst, im Text angeführt.

Der bisher erste und einzige Shortcode ist [gallery], der die neue Galeriefunktion erschließt. Generell werden Shortcodes durch eckige Klammern gekennzeichnet, die einen eindeutigen Funktionsbezeichner beinhalten. Ergänzende Angaben werden über zusätzliche Optionen in den Shortcode integriert: [gallery size="medium" columns="4"]. Welche Optionen Shortcodes “verstehen”, wird vom Ersteller der Funktion während der Programmierung festgelegt. Shortcodes können entweder selbstschließend ([foo bar="baz"]) oder umschließend ([foo bar="baz"]lorem ipsum[/foo]) sein.

Wer schon ein Mal mit Textpattern zu tun hatte, erkennt sofort die Arbeitsweise der Textpattern-Tags wieder. Kein Wunder, stammen doch Design und Programmierung des Shortcode-APIs im Wesentlichen von Alex Shiels, einem einstigen Textpattern-Entwickler.

Auf die an XML angelehnte Syntax der Textpattern-Tags <txp:foo bar="baz" /> hat Alex verzichtet. Kollisionen zwischen einfach mitten im Text stehenden Begriffen in eckigen Klammern und einem gleichlautenden Shortcode muss der Autor demnach selbst aus dem Weg gehen, wenn er beispielsweise über den Shortcode [gallery] schreiben und nicht etwa eine Galerie in den Beitrag einfügen möchte.

Ich habe Alex auf mögliche Workarounds angesprochen und den Rat erhalten, für “normalen” Text die numerischen HTML-Entities an Stelle der eckigen Klammern zu verwenden:

Escaping shortcodes: good question. &#91;gallery&#93; works. We need a better way. — Alex Shiels

Vorsicht: Die numerischen Entities sind nur im HTML-Editor eingebbar und überleben einen Wechsel von HTML-Editor zum visuellen Editor nicht.

Es schaut also ganz so aus, als ob WordPress 2.5.1 (oder wie auch immer das nächste Wartungsrelease bezeichnet werden wird) einen Escaping-Mechanismus für Shortcodes bringen wird. Ebenso sollen in der Zukunft auch Template-Designer in den Genuss von Shortcodes kommen – schließlich ist der Umgang mit PHP nicht jederfraus Sache…

1. April 2008, 14:01 − Abgelegt in

Kommentare

mit anderen Worten: Wp goes to TXP. ;-)
Dabei sah es angesichts der größeren Plugin-Anzahl und Nutzerverbreitung eher danach aus, als ob WP zum Platzhirsch auch in punkto Funktionalität avanciert. Daß es nun beinahe umgekehrt ist, freut micht.

— Jena er · 1. April 2008, 16:02 · #

Ist es irgendwie möglich Shortcodes in Textwidgets der Sidebar einzufügen?

Damit bräuchte man kein Execphp-Plugin und ich könnt’ ruhiger schlafen.

— albandi · 30. Mai 2008, 13:58 · #

Kommentarfunktion für diesen Artikel geschlossen.