perun.net – WordPress & Webwork



WordPress: Shortcode außerhalb des Loops

Von am 30. 05. 2011 um 15:34 – Aktualisiert am 02. 06. 2011 um 22:27

In WordPress 2.5 wurde die Shortcode-API eingeführt. Damit ist es möglich in WordPress Kürzel (Shortcode) zu definieren und diese dann im Beitrag einzubinden. Diese Kürzel geben dann im Frontend den festgelegten Code aus.

Ein Beispiel dafür ist der Shortcode [gallery]. Wenn man diesen Shortcode im Beitrag einbaut, dann gibt er alle Bilder aus, die mit diesem Beitrag verknüpft sind. Im vorherigen Artikel habe ich auch beschrieben, wie man mit einem WordPress-Plugin die Artikel auf Kindle schicken kann. Allerdings kann man das Plugin nur auf zwei Wegen einbinden: als Widget oder als Shortcode [kindlethis].

Leider funktionieren Shortcodes nur innerhalb des Loop. Will man jetzt ein das Kindle-Plugin z. B. im Footer einbinden, dann muss man sich der Funktion do_shortcode(); bedienen. Diese macht die Shortcodes auch außerhalb des Loops verfügbar.

Hier der Code, wenn man das Kindle-Plugin außerhalb des Loops einbinden möchte:

<?php echo do_shortcode('[kindlethis]'); ?>

Das war's. Viel Spaß damit. :-)

Hinweis: wer Code-Beispiele der WordPress-Shortcodes abbilden möchte, der muss die eckigen Klammern ([ und ]) maskieren: [ = &#91; und ] = &#93;.

Diesen Artikel weiterempfehlen:

Hinweis:
Schulungsunterlagen für WordPress
Aktuell und praxiserprobt. Als E-Book für den Privatgebrauch oder als PDF-Volumenlizenz für den geschäftlichen Einsatz.

Verwandte Artikel:

 — 


4 Kommentare

  1. 1.Jonas

    Kommentar vom 09.06.2011 um 13:46

    Super, genau danach habe ich gesucht. Leider klappt das Ganze nicht mit mehreren Shortcode-Optionen. Ich möchte z.B. den Shortcode [ft calendar] (funktioniert!) mit ein paar vorgegeben Optionen einbinden: [ftcalendar width='600' height='600'] (funktioniert nicht!) – Wie gehe ich da am besten vor?

  2. 2.Perun

    Kommentar vom 11.06.2011 um 12:50

    @Jonas,

    bei dir müsste es dann folgendermaßen ausschauen:

    echo do_shortcode('[ftcalendar]'); bzw. echo do_shortcode('[ftcalendarwidth='600' height='600']');

    Hast du es schon so probiert?

  3. 3.Anzeige nach dem More-Break einer Wordpress-Seite automatisch einfügen | Linux und Ich

    Pingback vom 08.12.2011 um 15:31

    [...] dafür nötigen Informationen finden sich z.B. bei Perun und Designzzz, Im Endeffekt muss man die dort genannten Infos einfach nur zusammenbauen. Da viele [...]

  4. 4. – David

    Kommentar vom 29.04.2012 um 10:13

    Hey, ich habe das Problem, dass das bei mir nicht funktioniert. Ich versuche einen Slider ins Template einzubinden, aber anstatt den Slider auszugeben gibt er nur den Shortcode aus, also es kommt nur [shortcode] anstatt der eigentliche Slider. Hab schon ne Stunde gegoogelt, aber keine Hilfe. Hast du da eine Idee?

Tut mir Leid, aber die Kommentar-Funktion ist momentan deaktiviert.



Weblog der perun.net webwork gmbh mit Artikeln zum Thema WordPress, Webwork, und Internet.