Ein Shortcode ist ein kurzer, in eckigen Klammern geschriebener Platzhalter-Text, den WordPress beim Rendern einer Seite automatisch durch dynamisch generiertes HTML ersetzt. Beispiel:
[oes_field field="field_demo_contributor__surname"]
Shortcodes lösen ein grundlegendes Problem: Redaktionsmitglieder Ein Redaktionsmitglied ist eine Benutzerrolle in WordPress, die umfassende inhaltliche Rechte hat, ohne vollen administrativen Zugriff. Sie kann in der Redaktionsumgebung beispielsweise eigene und fremde Beiträge erstellen, bearbeiten, veröffentlichen und löschen, Terms verwalten und OES Settings konfigurieren. Sie kann keine Themes oder Plugins installieren/ändern oder generelle Einstellungen der Webseite vornehmen. ohne PHP PHP (PHP: Hypertext Preprocessor) ist eine serverseitige Skriptsprache, die vor allem zur Erstellung dynamischer Webseiten eingesetzt wird. Der PHP-Code wird auf dem Webserver ausgeführt, bevor die fertige HTML-Seite an den Browser des Nutzers gesendet wird, wodurch sich beispielsweise Datenbankabfragen, Formularverarbeitung oder Benutzeranmeldungen realisieren lassen. PHP lässt sich direkt in HTML-Dokumente einbetten und ist eng mit Datenbanksystemen wie MySQL verknüpft, was es zu einer weit verbreiteten Grundlage für CMS wie WordPress macht. -Kenntnisse können dynamische, mitunter komplexe Funktionalität direkt im normalen Editor Der Block-Editor in WordPress, auch bekannt als Gutenberg oder kurz nur Editor, ist ein visuelles Editor-System, das 2018 mit WordPress 5.0 eingeführt wurde. Er ermöglicht eine blockbasierte Bearbeitung von Inhalten, bei der jedes Element (Text, Bild, Video, etc.) als Block behandelt wird. Diese Blöcke können einfach hinzugefügt, bearbeitet, verschoben und angepasst werden, um komplexe Layouts zu erstellen, ohne HTML oder CSS schreiben zu müssen. Im Block-Editor können verschiedene Blocktypen verwendet werden, wie z. B. Absatz, Bild, Überschrift, Galerie, Listen und Code – jeder Block kann individuell formatiert werden. Dadurch wird die Erstellung und Bearbeitung von Inhalten intuitiver und flexibler als im klassischen Editor, der nur mit einem einfachen Textfeld arbeitet. Über OES werden OES-spezifische Blöcke wie etwa das OES Image Panel ergänzt. einfügen, ohne Code schreiben zu müssen.
Technische Einordnung
Mit add_shortcode('tag_name', 'callback_function') wird ein Tag-Namen (z. B. oes_field) registriert und mit einer PHP-Funktion verknüpft, die aufgerufen wird, sobald WordPress diesen Tag in einem Text findet. Die PHP-Funktion, Callback-Funktion genannt, bekommt die im Shortcode angegebenen Attribute als assoziatives Array (eine geordnete Liste von Werten) übergeben und muss als Rückgabewert einen String (eine Zeichenkette) liefern — genau dieser String wird dann anstelle des Shortcodes in die Seite eingefügt.
Einsatz im Theme
Es gibt zwei typische Wege, Shortcodes zu nutzen:
1. Direkt im Redaktionscontent (Block-Editor, Der Block-Editor in WordPress, auch bekannt als Gutenberg oder kurz nur Editor, ist ein visuelles Editor-System, das 2018 mit WordPress 5.0 eingeführt wurde. Er ermöglicht eine blockbasierte Bearbeitung von Inhalten, bei der jedes Element (Text, Bild, Video, etc.) als Block behandelt wird. Diese Blöcke können einfach hinzugefügt, bearbeitet, verschoben und angepasst werden, um komplexe Layouts zu erstellen, ohne HTML oder CSS schreiben zu müssen. Im Block-Editor können verschiedene Blocktypen verwendet werden, wie z. B. Absatz, Bild, Überschrift, Galerie, Listen und Code – jeder Block kann individuell formatiert werden. Dadurch wird die Erstellung und Bearbeitung von Inhalten intuitiver und flexibler als im klassischen Editor, der nur mit einem einfachen Textfeld arbeitet. Über OES werden OES-spezifische Blöcke wie etwa das OES Image Panel ergänzt. Seiten Eine Seite ist ein statischer Inhaltstyp innerhalb von WordPress, der verwendet wird, um langfristige, unveränderte Inhalte zu präsentieren. Im Gegensatz zu Beiträgen, wie etwa in der OES Demo der ‚Article‘, sind Seiten in der Regel statisch und bieten Informationen, die nicht regelmäßig geändert werden müssen. Typische Beispiele für Seiten sind die Impressum- oder die Kontaktseite. Normalerweise werden Seiten nicht in Listenansichtenausgegeben, sondern sie sind über Menüs oder andere Navigationsstrukturenerreichbar. – oder Beitragstext Ein Beitrag (Post) ist in WordPress ein Inhaltselement eines Inhaltstyps. In der OES Demo beispielsweise der einzelne ‚Article‘ Deutsches Wörterbuch oder der ‚Contributor‘ Carl Contributor. Beiträge erscheinen in OES als Einzeldarstellung und werden typischerweise in alphabetischer Reihenfolge auf Listendarstellungen in der Publikationsumgebung ausgegeben. Sie lassen sich über Taxonomien kategorisieren und verschlagworten. ):
[oes_audit_relations]
[oes_field field="field_demo_contributor__surname" prefix="Nachname: "]
WordPress ersetzt den Tag automatisch beim Ausgeben des Inhalts (the_content()), da der content-Filter Shortcodes standardmäßig verarbeitet.
2. Programmatisch in Template
Ein Theme Template definiert das Layout und die Struktur spezifischer Seitenarten und bestimmt somit, wie Inhalte in der Publikationsumgebung dargestellt werden. Es handelt sich dabei um mehrere Dateien, die mit HTML, CSS und ggf. JavaScript kombiniert werden, um das Layout und die Struktur spezifischer Seitenarten zu definieren – etwa für einzelne Inhaltstypen wie ‚Article‘ oder die Startseite. Über ein OES Theme werden weitere Templates zur Verfügung gestellt, etwa für spezielle Seitenlayouts oder für bestimmte Inhaltstypen. Theme Templates ermöglichen somit eine feingranulare Kontrolle über die Gestaltung einzelner Seitenarten, ohne dass das gesamte Theme verändert werden muss. Sie sind ein zentrales Werkzeug für die Individualisierung von WordPress-Webseiten und bilden die Brücke zwischen Inhalt (aus der Datenbank) und Design (aus dem Theme).
-Dateien über do_shortcode(), wenn der Shortcode fest in ein Template eingebaut werden soll (z. B. immer im Header oder in einer Sidebar erscheinen soll), unabhängig vom eigentlichen Redaktionsinhalt:
<?php echo do_shortcode('[oes_breadcrumbs]'); ?>
Wichtig zu wissen
- Attribute sind immer Strings (Zeichenketten). Auch
icon="0"odertooltip="false"kommen als reiner Text an — für „aus“-Werte sollte man daher leere Strings oder"0"verwenden statt des Wortes"false", das in PHP PHP (PHP: Hypertext Preprocessor) ist eine serverseitige Skriptsprache, die vor allem zur Erstellung dynamischer Webseiten eingesetzt wird. Der PHP-Code wird auf dem Webserver ausgeführt, bevor die fertige HTML-Seite an den Browser des Nutzers gesendet wird, wodurch sich beispielsweise Datenbankabfragen, Formularverarbeitung oder Benutzeranmeldungen realisieren lassen. PHP lässt sich direkt in HTML-Dokumente einbetten und ist eng mit Datenbanksystemen wie MySQL verknüpft, was es zu einer weit verbreiteten Grundlage für CMS wie WordPress macht. als truthy gilt. - Reihenfolge und globaler Kontext zählen. Einige Shortcodes (z. B.
oes_table_of_contents) hängen davon ab, dass bestimmte globale Variablen ($oes_post) bereits vorher im Seitenaufbau gesetzt wurden — die Platzierung im Template ist also nicht beliebig. - Enclosing-Shortcodes (mit Inhalt zwischen Start- und End-Tag, z. B.
[oes_shortcode]Download[/oes_shortcode]) bekommen den eingeschlossenen Inhalt als zweiten Parameter der Callback-Funktion übergeben — im Gegensatz zu selbstschließenden Shortcodes.
Shortcode vs. Block
In den neueren OES-Core-Plugin OES Core ist ein WordPress-Plugin, das die Funktionen von WordPress nutzt und erweitert. Über einen OES Projekt-Plugin, wie etwa die OES Demo, wird ein Datenmodell initialisiert, welches es ermöglicht, zitierfähige Artikel zu publizieren – inklusive Verschlagwortung für Artikel und andere Entitäten sowie Verknüpfungen untereinander. Der OES Core ermöglicht das Konfigurieren von OES Einstellungen innerhalb der Redaktionsumgebung, wie etwa Mehrsprachigkeit oder die Schema-Definitionen für Inhaltstypen, um die Ausgabe in der Publikationsumgebung zu steuern. Der OES Core wird durch ein Theme und eventuell weitere OES Module ergänzt. -Versionen werden einige OES-Shortcodes als Blöcke Ein Block ist ein strukturelles Element innerhalb des Inhalts eines Beitrags, der verschiedene Funktionen haben kann. So kann damit z.B. eine strukturierte Visualisierung ermöglicht werden, etwa in Überschriften, Listen, Tabellen oder Bildern. Im Editor können die Blöcke ausgewählt und eingefügt werden. angeboten.
Blöcke bieten eine visuelle Bearbeitungsoberfläche für Redakteur*innen Ein Redaktionsmitglied ist eine Benutzerrolle in WordPress, die umfassende inhaltliche Rechte hat, ohne vollen administrativen Zugriff. Sie kann in der Redaktionsumgebung beispielsweise eigene und fremde Beiträge erstellen, bearbeiten, veröffentlichen und löschen, Terms verwalten und OES Settings konfigurieren. Sie kann keine Themes oder Plugins installieren/ändern oder generelle Einstellungen der Webseite vornehmen. im Editor und ermöglichen eine Live-Vorschau des Ergebnisses (oder zumindest eine strukturierte Darstellung). Optionen für Formularfelder, Dropdowns oder Toggles können in der Seitenleiste eingegeben werden — ganz ohne Attribut-Syntax oder Tippfehlerrisiko. Das ist besonders für nicht-technische Redakteur*innen deutlich zugänglicher.
Shortcodes erscheinen im Editor nur als reiner Text ohne Vorschau, ohne geführte Eingabe. Die verfügbaren Attribute und deren korrekte Schreibweise muss der Dokumentation entnommen werden. Damit sind sie schwerer zugänglich als Blöcke. Shortcode-Attribute können frei im PHP-Code der Callback-Funktion definiert und ausgewertet werden und sind damit oft flexibler als die entsprechende Block-Variante.
