31. Dezember 2008 • Aktualisiert am 30. Dezember 2008
Bereits mit der Version 2.5 wurde die Shortcode API in WordPress eingeführt. Diese API ermöglicht es Funktionen aus Plugins oder Themes ohne PHP-Code in Artikel, Seiten oder direkt in Templates zu integrieren.
WordPress unterstützt beispielsweise von Haus aus schon den Shortcode Tag [gallery], um die Galerie in Artikel und Seiten einzufügen. Die Galerien lassen sich mit Hilfe von Attributen, wie man sie aus HTML kennt, individuell anpassen.
Die Bilder in der Galerie verlinken auf die Datei, werden in zwei Spalten angeordnet und werden verkleinert dargestellt.
[gallery link="file" columns='2' size="thumbnail"]
Auch die Bildunterschriften in WordPress werden mit Hilfe von Shortcode in die Artikel eingefügt. An diesem Beispiel sieht man, dass die Shortcode Tags auch Code umschliessen können, was doch ein wenig an HTML erinnert.
[caption id="attachment_123" align="alignnone" width="170" caption="Bildunterschrift"]
<img src="http://example.de/image.jpg" alt="text" width="170" height="240" />
[/caption]
Um einen eigenen Shortcode zu erstellen wird die Funktion add_shortcode('tag', 'function_name') genutzt. Diese Funktion werde ich kurz an einem Beispiel erläutern.
<?php
function halloshortcode() {
return 'Hallo Welt!';
}
add_shortcode('hallo', 'halloshortcode');
?>
Wird die Funktion halloshortcode() aufgerufen gibt diese „Hallo Welt!" zurück. In der Funktion add_shortcode() gibt man im ersten Parameter den Namen des Tags und im zweiten den Namen der Funktion an. Baut man nun den Shortcode Tag [hallo] in einen Artikel ein, so wird statt diesem Tag der Text „Hallo Welt!" ausgegeben.
Eine Möglichkeit Shortcode Tags in einem Template einzufügen ist folgende:
<?php echo do_shortcode('[hallo]'); ?>
Eine Möglichkeit die oben gezeigte Shortcode Funktion zu nutzen, ist Folgende. Man fügt den Code den man von Adsense oder einen anderen Anbieter bekommt in die Anführungszeichen ein. Soll in einen Artikel Werbung eingefügt werden muss nur noch der Shortcode Tag [werbung] in den Artikel eingefügt werden.
function zeigewerbung() {
return '<script type="text/javascript"><!--
google_ad_client = "pub-123456789101112";
google_ad_slot = "123456789";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
';
}
add_shortcode('werbung', 'zeigewerbung');
Mit Hilfe des BBCode Plugins wird zum Beispiel die aus Foren bekannte Auszeichnungssprache BBCode in WordPress integriert. Diese kann nun statt HTML zum Formatieren der Artikel genutzt werden.
Weitere Infos zur Shortcode API findet ihr im WordPress Codex.
© 2012 Schweizer WordPress Magazin | Realisiert von Pascal Birchler | 53 Queries. 0,531 Sekunden.
Hallo Sören, vielen dank für die Ausführung zur Nutzung der API. Das ist auch für mich was neues und wird sicher viele Leser finden. Ich habe so einen ähnlichen Artikel für die Schaltung von Werbung bei mir im Blog. http://blogger-world.de/adsense-werbung-punktgenau-in-artikel-einbinden/
Ich wünsche dir einen Guten Rutsch ins Neue Jahr
Thomas
Hallo das ist für mich noch total neuland ,werde mich nachher mal genauer mit der Materie befassen und dann nochmal nen netten Komentar da lassen
Frohes neues
Tolles Feature, ist in Teilen ja auch schon aus Joomla bekannt, hier kann man für seine Funktionen auch Shortcode definieren und z.B. in Beiträgen einbinden, aber leider auch nicht für eigens definierte PHP Codes.
Ist nen super Feature, wenn man immer wieder kehrenden Text hat, der sich in der Beschaffenheit nicht ändert… Frage kann man anhand der Funktion auch einzelnen Variabeln übergeben?
Wie meinst du das mit dem Übergeben der Variabeln?
Meinst du sowas?
[caption id="attachment_123" align="alignnone" width="170" caption="Bildunterschrift"]