Ein WordPress-Shortcode ist ein Platzhalter in eckigen Klammern, der beim Seitenaufruf durch dynamisch erzeugten Inhalt ersetzt wird, etwa ein Formular, eine Galerie oder ein Preistabellen-Widget.
Was bedeutet das?
Shortcodes wurden mit WordPress 2.5 eingeführt und sind seitdem ein zentrales Konzept der WordPress-Entwicklung. Die Idee ist einfach: Ein Redakteur schreibt in den Seiteninhalt einen kurzen Code wie oder [contact-form-7 id="42"]. Beim Laden der Seite erkennt WordPress den Shortcode, führt die zugehörige PHP-Funktion aus und gibt deren Rückgabewert an der entsprechenden Stelle im HTML aus.
Technisch werden Shortcodes über die Funktion add_shortcode() registriert. Sie erwartet zwei Parameter: den Shortcode-Namen (z.B. „gallery“) und eine Callback-Funktion, die aufgerufen wird, wenn der Shortcode im Inhalt gefunden wird. Die Callback-Funktion empfängt ein Array der im Shortcode angegebenen Attribute, optionalen eingeschlossenen Inhalt sowie den Shortcode-Tag selbst. Sie muss den erzeugten HTML-Code zurückgeben, darf ihn aber nicht direkt ausgeben. Diese Vorgabe aus der offiziellen WordPress-Dokumentation ist wichtig, weil direktes Echos die Seitenstruktur brechen kann.
Es gibt zwei Arten von Shortcodes: selbstschliessende Shortcodes wie und umschliessende Shortcodes, die einen Bereich einrahmen: [highlight]Dieser Text wird hervorgehoben.[/highlight]. Attribute übergeben Parameter an die Funktion, etwa IDs, Farben oder Anzahlen.
Im modernen WordPress-Gutenberg-Editor haben Shortcodes an Bedeutung verloren, weil Blöcke die gleiche Funktion komfortabler erfüllen. Ältere Themes und Plugins setzen jedoch weiterhin stark auf Shortcodes, besonders Page-Builder wie WPBakery (Visual Composer), der komplette Layouts als Shortcode-Strings im Datenbankfeld speichert.
Beispiel aus der Praxis
Das Plugin Contact Form 7 erzeugt für jedes erstellte Kontaktformular einen Shortcode wie [contact-form-7 id="523" title="Kontaktformular"]. Dieser Code wird in den Seiteninhalt oder in einen Text-Widget eingefügt. Beim Seitenaufruf rendert Contact Form 7 das vollständige HTML-Formular inklusive Felder, Labels und Submit-Button genau an dieser Stelle. Der Redakteur muss kein HTML kennen und kann das Formular trotzdem flexibel auf beliebigen Seiten einbinden.
Page-Builder wie WPBakery speichern Layout-Strukturen als verschachtelte Shortcodes in der Datenbank, zum Beispiel …. Beim Wechsel des Page-Builders bleiben diese Strings sichtbar, was ein klassisches Lock-in-Problem darstellt.
Häufiger Fehler
Ein verbreitetes Problem entsteht, wenn ein Plugin deaktiviert oder gelöscht wird, ohne dass seine Shortcodes aus dem Inhalt entfernt wurden. WordPress rendert unbekannte Shortcodes dann als sichtbaren Text, also erscheint zum Beispiel [contact-form-7 id="523"] als Plain Text auf der Seite. Das sieht unästhetisch aus und kann das Layout beschädigen. Vor dem Deaktivieren eines Plugins mit Shortcodes sollte deshalb geprüft werden, auf welchen Seiten diese Shortcodes verwendet werden. Im WordPress-Backend kann über die Seitensuche nach dem Shortcode-Namen gefiltert werden.




























































































































































