Eigene Shortcodes für WordPress

Geschrieben von am 27. Mai 2010 in Tipps & Tricks - 10 Kommentare

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:

  1. Die Funktion
  2. 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.

Bitte sozial teilen

Wenn dir dieser Beitrag gefallen hat, dann teile ihn doch bitte in den verschiedenen sozialen Netzwerken! Du würdest mir damit sehr helfen!

Über den Autoren

Mein Name ist Christian. Ich blogge bereits seit 5 Jahren - manchmal mehr, manchmal weniger erfolgreich. Weil ich in der Anfangszeit meiner Erfahrungen mit den von WordPress gebotenen Möglichkeiten unzufrieden war, habe ich mir einiges Wissen zu dieser tollen Software selbst beigebracht. Aus diesen Erfahrungen ist das Projekt wpLove.de geboren. Neben WordPress bringe ich mir aber auch das Thema SEO selbst etwas näher.

10 Kommentare zu "Eigene Shortcodes für WordPress"

  1. Tom 28. Mai 2010 um 11:19 Uhr · Antworten

    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! 🙂

  2. adkorte 29. Mai 2010 um 09:22 Uhr · Antworten

    Hast du die Funktion dafür selbst geschrieben?

  3. Tom 31. Mai 2010 um 08:03 Uhr · Antworten

    Um die Shortcodes auszuwerten? Nein, mach ich genauso wie du oben. Nur wird anstatt Werbung eben der Formular angezeigt.

    • adkorte 31. Mai 2010 um 08:09 Uhr · Antworten

      Achso,okay. Aber vielleicht magst du das ja als Gastbeitrag mal vorstellen?! 😉

  4. Tom 31. Mai 2010 um 09:01 Uhr · Antworten

    Das wäre dann aber Werbung für meine Plugins. Damit musste dann leben. 😉

  5. adkorte 31. Mai 2010 um 10:38 Uhr · Antworten

    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? 😉

  6. Tom 1. Juni 2010 um 09:20 Uhr · Antworten

    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. 😉

  7. Horst Graebner 8. März 2012 um 13:03 Uhr · Antworten

    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!

  8. Christian 25. Oktober 2012 um 21:24 Uhr · Antworten

    Top, vielen Dank. Genau das was ich gesucht hab, wusste nicht das es so einfach ist 😉

Trackbacks zu diesem Artikel

  1. Wordpress das eigenmächtige Ändern von HTML-Code abgewöhnen | Wordpress Trainer

Kommentar hinterlassen

XHTML Du kannst diese Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>