ShortCodes in WordPress – Fluch oder Segen?
In letzte Zeit, wenn das Thema WordPress und Shortcodes zur Sprache kommt, höre ich immer häufiger wie meine Kollegen im Büro über diese Dinger schimpfen. Eine Zeit lang konnte ich sie verstehen, inzwischen möchte ich widersprechen.
Zunächst einmal sind Shortcodes unheimlich praktisch für WordPress-Benutzer, die selbst nicht programmieren wollen oder können. Sie fügen einen kleinen oder großen Textschnippsel ein, machen vorne und hinten eine eckige Klammer dran und schon haben sie neben Worten und Bildern ein Kontakt-Formular auf der Seite oder im Beitrag.
Und so einfach kann man einen kleinen Mehrwert schaffen, der auch einfach zu nutzen ist. Toll, oder?
Natürlich wird es nicht bei dem einen Shortcode bleiben. Denn das Kontakt-Formular ist nur ein Anwendungsfall für eine beinahe unerschöpfliche Anzahl an Möglichkeiten, die einem zur Verfügung stehen. Diese reichen allerdings von sinnvoll bis sinnlos.
Und so kommen viele der Plugins und Themes mit einem oder mehreren Shortcodes daher. Somit wird aus dem einem Baum ein Wald. Und da geht sie dahin, die Übersicht. An dieser Stelle wünsche ich mir von WordPress noch etwas mehr Hilfe: Nämliche einen Button im Editor, der mir eine Liste aller verfügbaren Shortcodes anbietet. Gibt es doch schon, mag manch einer jetzt sagen. Stimmt! Wenn man die richtigen Plugins installiert hat.
Auch für uns Entwickler sind Shortcodes toll: Dem Benutzer muss kein Code erklärt werden. Man kann Magie in ein kleinen Schnippsel verpacken und es passieren tollen Dinge.
Manchmal aber schießen wir Entwickler über das Ziel hinaus. Dann werden aus einfachen Shortcodes eher umständliche “Longcodes”. Fünf oder mehrere mögliche Parameter, ein öffnender und ein schließender Tag. Und das alles noch wunderbar verschachtelt und aufeinander aufbauend.
So sahen meine ersten versuche mit Shortcodes aus und ich war stolz darauf. Heute möchte ich sie einfach nur verstecken und leugnen, dass es je passiert ist. Denn dies war weder für den Benutzer toll, der sich alles irgendwie merken musste, noch für mich, der das alles dokumentieren sollte. Und alle vier Wochen erklären wie und warum etwas funktioniert, war auch keine Lösung. Ganz abgesehen davon, dass ich nach zwei Monaten selbst nicht mehr so genau wusste, wie und warum. – Damals war der Weg eine Vorlage für copy&paste. – Usability geht anders. Soviel weiß ich heute.
Und außerdem, wie ich diese Tage erst sagte: Wenn man’s erklären muss, ist’s doof. Gilt für Dinge, die einfach sein sollten.
Der Weg, den ich damals mit den Shortcodes ging, machte weder mir noch meinen WordPress-Benutzern Spaß. Und nachdem ich mich in meinen eigenen “Lösungen” verlaufen hatte, war Schluss damit. Vermutlich klang ich damals ähnlich und habe Shortcodes total verteufelt. Das ging teils soweit, dass ich Plugins, die mir Shortcodes angeboten haben, kritisch hinterfragte.
Die Suche nach sinnvollen Alternativen blieb ohne ein gutes Ergebnis. Genau genommen auch ohne ein schlechtes. Denn für alle möglichen Bereiche eigene Seitentemplates anzulegen und Dutzende von Metafeldern anzulegen ist eben auch keine Lösung. Und so habe ich mich den Shortcodes wieder angenähert. Heute weiß ich: Shortcodes sind Freunde.
Und wie im richtigen Leben gibt es richtig gute Freunde und Bekannte.
Wenn ich heute einen Shortcode für ein Projekte erstelle, dann muss dieser ein paar einfachen Regeln standhalten.
- einfach
- eigenständig
- keine oder wenig Paramenter
Einfach:
Der Shortcode muss aus einem Tag bestehen. Ein Wort, eckige Klammer vorne und hinten, fertig. Und: Der Beitrag hat eine tolle Funktion mehr.
Eigenständig:
Der Shortcode muss alleine funktionieren und nicht durch eine Verschachtelung mit anderen. Wenn das nicht geht, dann ist irgend etwas falsch gelaufen. Was natürlich eine Verschachtelung nicht ausschließt, wenn Shortcodes aus anderen Quellen im Spiel sind (Bsp: Tabs).
Keine oder wenige Parameter
Das spricht für sich. Jeder Parameter mehr muss sich gemerkt werden. Das mag für uns Entwickler einfach sein, aber für Benutzer, die nur Inhalte pflegen wollen, ist es eine Herausforderung.
Mein Grundgedanke dahinter ist einfach: Wer will sich das alles merken? Ich sicher nicht. Ich freue mich darüber, wenn die Dinge einfach funktionieren. Und ein Wort merke ich mir viel eher als sieben oder mehr.
Das ist auch etwas, was ich von Steve Jobs gelernt habe. Nicht persönlich, das ist dieser Tage sehr schwer, um nicht zu sagen unmöglich. Glücklicherweise stehen in seiner Biografie ein paar Zeilen dazu.
Auch haben schlaue Menschen herausgefunden, dass wir Menschen Auswahl ganz schrecklich finden und uns dann mit Entscheidungen schwer tun. Also helfe ich als Entwickler meinen Benutzern, wenn ich ihnen eine überschaubare Auswahl anbiete. Das Funktioniert auch bei der Freundin. ;)
Und somit gibt es eine einfache Regel, wenn man für WordPress Shorcodes schreibt: einfach halten!
Denke eine Stunde länger darüber nach, ob es Dir Spaß machen würde, wenn Du diesen Shortcode nutzen müsstest, morgens um kurz nach vier und Du erst zehn Minuten wach bist.
Ein Beispiel vom letzten Projekt, in weclhem ich einen Shortcode brauchte: Ziel war es, in WordPress eine Agenda für Veranstaltungen pflegen zu können. Die Agendapunkte werden dazu in einem eigenen PostType gepflegt.
Der PostType hat noch eine Taxonomie, die den Veranstaltungsta abbildet. Somit ist alles im WordPress-Workflow.
Titel: Begrüßung
Inhalt: Max Mustermann begrüßt die Veranstaltungsteilnehmer und gibt einen kurzen Überlick über den Tag.
Uhrzeit: 10 Uhr
Die Uhrzeit wird in einem CustomField als einfacher Text gepflegt. Für den aktuellen Anwendungsfall reicht dies, kann später aber noch ausgebaut werden und in einen Timestamp umgewandelt werden.
Nun wird noch ein Veranstaltungstag angeklickt und fertig.
Jetzt kommt der Shortcode: [agenda tag=24.12.2014]
Dieser fragt die Taxonomie ab und gibt alle Veranstaltungspunkte aus, die dem 24.12.2014 zugewiesen sind. Diese werden anhand der Uhrzeit sortiert.
Dieser Shortcode kann in Seiten, Posts, Textwidgets oder anderen PostTypes verwendet werden.
In Kombination mit einem Tab-Shortcode ergibt das sogar eine ganz schicke Agenda, bei der man ggf. nur noch den Tag wechseln oder die Agendapunkte bearbeiten muss.
So schön einfach können Shortcodes sein.
Mit einem guten Gespür für Technik, Sinn für pragmatische Lösungen die deinen Kunden helfen unterstütze ich seit über 2009 sehr viele Menschen bei ihren WordPress Alltag.
Und das kannst du jetzt tun:
- Lass mich wissen, ob dir das hier gelesene geholfen oder falls du noch Fragen hast, nutze gern die Kommentarfunktion.
- Du willst ab und zu ein Lebenszeichen von mir, gepaart mit etwas Technik-Grüßen? Dann scrolle etwas tiefer!
- Du hast WordPress-Themen bei denen du Hilfe brauchst? Na dann her damit!
Gruß aus dem Maschinenraum
... wo sonst findet die Wartung statt ;)
„*“ zeigt erforderliche Felder an
Ein Kommentar
Genau so sehe ich das auch. Ich hasse Themes, in denen ganze Seiten mit Shortcodes gestaltet werden. Row, Column, Column, Column, … Das macht mir Angst.
Selbst nach Jahren der Programmierung kommt man hier im WordPress-Editor schnell durcheinander, da man ja von nichts und niemandem unterstützt wird. Und Zeilenumbrüche machen das Ganze zwar leserlicher, aber dann wieder die Seite kaputt. Schrecklich!
Ich bin da ganz auf Deiner Seite – für einfache, atomare Aufgaben ist das Zeug super geeignet. Dafür wurde es auch sicher einmal konzipiert. Aber mittlerweile wurden die Dinger in alle Richtungen vergewaltigt. Das ist wirklich übel…