Die Shortcodes in WordPress sind eine feine Sache, denn sie erleichtern die Arbeit ungemein und ermöglichen es auch jemandem, der nicht programmieren kann, Code innerhalb von Beiträgen und Seiten oder auch in Widgets aufzurufen. Anstelle eines mehr oder weniger komplexen HTML/PHP-Konstruktes schreibt man einfach in eckigen Klammern ein bestimmtes Schlüsselwort, evtl. gefolgt von Parametern. Die meisten Plugins bieten verschiedene Funktionalitäten nicht nur über Widgets, sondern eben auch über Shortcodes an, in der Regel hat man damit noch viel mehr Möglichkeiten als mit den angebotenen Widgets.

Anzeige

 

Warum ein Shortcode?

Kleines Beispiel: Ihr kennt vielleicht das Plugin NextGEN Gallery zum Verwalten und Anzeigen von Bildern. Hier kann man mit dem Shortcode [recent max=4] die letzten vier hochgeladenen Bilder anzeigen.

Ich selbst hatte neulich für ein Kundenprojekt den Fall, dass ich ein umfangreiches Eventverwaltungs-Plugin benutzt habe, welches es ermöglicht, die Ausgabe der Events stark anzupassen an die eigenen Bedürfnisse. Dabei kommt ein größeres Stück HTML-Code heraus, welches in meinem Fall in einem Beitrag eingefügt werden sollte, um dort ganz bestimmte Events anzuzeigen. Ihr seht unten, wie der Code aussah.

Man hätte ihn vielleicht ganz genau so in den Beitrag einfügen können, wäre für den Kunden, der später den Text im Beitrag hätte ändern sollen, noch zumutbar gewesen, wenn der WordPress Editor nicht jedes Mal, wenn man aus der Text-Ansicht in die visuelle gewechselt hat, den Code zerhauen hätte. Shortcode musste also her. Und das ging auch ganz einfach.

Und so geht es…

WordPress bietet hierfür die Shortcode API an. Was ihr machen müsst: In der functions.php eine Funktion erstellen, mit dem gewünschten Code und dann mit add_shortcode für diese Funktion den Shortcode zu definieren. Und so sieht das dann in der functions.php aus:

Statt dem langen Code, kann der Kunde jetzt im Artikel einfach  [TFr] angeben. Das sind gerade mal 5 Zeichen und es sieht nicht ganz so nach Code aus 😉

Im hier genannten Beispiel taucht noch eine weitere Schwierigkeit auf: wer genau hinschaut, der sieht, dass es sich um eine Shortcode-Verschachtelung handelt, die bei [events_list category="8" location_id="2"] beginnt und bei [/events[/events_list]det. Hierfür benötigt man die Funktion do_shortcode, mit der sich solche Verschachtelungen handhaben lassen. Ihr seht, Shortcodes zu erstellen ist keine Hexerei.

Es geht natürlich noch etwas weiter, denn ich habe hier die Erstellung von Shortcodes mit Parameter und mit Inhalten nicht behandelt, das machen wir ein anderes Mal. Falls jemand gute Beispiele dazu kennt, nur her damit.

Anzeige