
Die Shortcodes von WordPress sind eine feine Sache: Mit einem kleinen Kürzel im Artikeltext kann man beinahe alles in den Artikel einfügen, ohne dafür aufwendige Änderungen an den Templates des eigenen Themes vornehmen zu müssen.
Ich möchte daher einmal in diesem Artikel erklären, wie ihr eigene Shortcodes erstellt.
Was sind die WordPress Shortcodes?
Mit WordPress Shortcodes lässt sich über die Eingabe eines kleinen Codes in der Form [SHORTCODE]
direkt in den Artikeltext eine Funktion, etc. an beliebiger Stelle im Artikel aufrufen.
Dafür müssen die Shortcodes nur einmal definiert sein und können dann beliebig oft wiederholt werden. Zudem sind Argumente und Parameter innerhalb des Shortcodes möglich.
Prinzipiell sind Shortcodes keine Grenzen gesetzt: Einbinden und ausgeben lässt sich alles, was den Besucher im Artikel interessieren könnte.
Aufbau der WordPress Shortcodes
Generell sind Shortcodes in zwei Bereiche unterteilt:
- Die Funktion
- Die Definition des Shortcodes
In der Funktion kann eigentlich alles stehen: Ein Counter mit Datenbankanbindung, ein Formular oder einfach ein Text. In der Definition wird im Prinzip nichts anderes getan um dem Shortcode einen Namen (zum Aufrufen) zu geben und eine Verknüpfung zur Funktion herzustellen.
Beispiel für Shortcodes: Manuelles Einbinden von Werbeanzeigen
Die sicherlich einfachste Möglichkeit einen Shortcode zu nutzen, ist die manuelle Einbindung einer Werbeanzeige. Auch auf wpLove.de finden Shortcodes hierfür Verwendung.
Diese Möglichkeit ist sehr zuverlässig und als simples Beispiel für die Anwendung der WordPress Shortcodes gut geeignet.
WordPress Shortcodes: Die Funktion
In diesem Beispiel will ich einen immer gleichen Anzeigentext an unterschiedlichen Stellen im Artikel ausgeben. Diesen Anzeigentext (ich verwende als Beispiel mal nun einen Banner der Größe 468×60) muss ich zunächst einmal der Funktion zuweisen. (Ich wechsle an dieser Stelle mal ins “Du”, weil du das ja gerade tust.)
Öffnen die functions.php
.
Hast Du bisher noch keine andere Funktion erstellt, so definiere zunächst, dass Du nun PHP verwenden wirst: <?php
Darauf kannst Du natürlich verzichten, wenn es diese Angabe schon gibt. Und auch schon hier der Hinweis: An das Ende Deiner Funktion gehört dann ggf. auch ein schließendes ?>
Nun erstelle Deine Funktion und gib einen passenden Namen. Ich wähle dafür im Beispiel nun mal “werbung”:
function werbung()
Nun musst du den Bannerquelltext in die Funktion einfügen. Da du den ja nur ausgeben willst, reicht hierbei die Verwendung der Funktion return
.
Als Ganzes würde das bedeuten:
{ return '<a href="http://www.example.org" title="Example"><img src="example.gif" alt="Example" width="468" height="60" />'; }
Das war’s schon mit der Funktion!
Shortcode: Namen definieren
Nun musst du deinem Shortcode auch noch einen kurzen, leicht zu merkenden und passenden Namen geben. Damit du eben in Zukunft den Shortcode ganz leicht aufrufen kannst. Hast du einen Namen gefunden, so musst du diesen definieren und in Verbindung mit ihm die Funktion aufrufen.
Ich habe mal “ad” gewählt:
add_shortcode('ad', 'werbung');
Im ersten Teil definierst du den Namen des Shortcodesm nämlich “ad”. Der zweite Teil gibt dann an, welche Funktion mit dem Shortcode verknüpft wird, das ist die Funktion “werbung” von eben. Auch das war’s schon.
Das Gesamtergebnis: Der Shortcode
Und wer’s schneller haben will, dem sei hier noch einmal alles in einem Teil präsentiert:
<?php function werbung() { return '<a href="http://www.example.org" title="Example"><img src="example.gif" alt="Example" width="468" height="60" />'; } add_shortcode('ad', 'werbung'); ?>
So wenig reicht…
Shortcode einbinden
Wenn Du jetzt Deinen Werbebanner an mehreren Stellen im Artikel einbinden willst, so musst Du nur jedes mal Deinen neuen Shortcode in den Text einfügen: [ad]
.
Das war alles!
Wofür verwendet ihr denn so die WordPress Shortcodes?
Wollt ihr’s mir verraten? Auch nur Werbeanziegen? Oder für Plugins wie Umfragen oder Google-Maps-Karten? Ich freuen mich über Ideen.
10 Kommentare zu "Eigene Shortcodes für WordPress"
Ich binde damit mein Kontaktformular an unterschiedlichen Stellen ein. Durch die Parameter mit verschiedenen Betreffs und Empfängern.
Die Shortcodes sind wirklich eine feine Sache! 🙂
Hast du die Funktion dafür selbst geschrieben?
Um die Shortcodes auszuwerten? Nein, mach ich genauso wie du oben. Nur wird anstatt Werbung eben der Formular angezeigt.
Achso,okay. Aber vielleicht magst du das ja als Gastbeitrag mal vorstellen?! 😉
Das wäre dann aber Werbung für meine Plugins. Damit musste dann leben. 😉
Das würde ich nun nicht ganz so tragisch finden, wenn Du im Beitrag auch erklärst, wie genau man mit Shortcodes und etwas Programmierarbeit einen Mehrwert für den eigenen Blog schafft.
Hättest Du denn prinzipiell Interesse? 😉
Ich will mich ja nicht rausreden, aber was soll ich denn noch mehr schreiben als du? 😉
Ich könnte höchstens erklären wie ich Shortcode benutze um mit Plugins Kontaktformulare, Videos oder Spoiler in eine Seite einbaue. Achso und eilig darfste es auch nicht haben. 😉
Danke für diesen Super Tipp!
Bei mir funktioniert es wunderbar. Offenbar lässt WP den HTML-Code, den es per Shortcode erhält, in Ruhe!
Top, vielen Dank. Genau das was ich gesucht hab, wusste nicht das es so einfach ist 😉
Trackbacks zu diesem Artikel