WordPress-Shortcodes

In WordPress 2.5 wurden sogenannte Shortcodes eingeführt. Das sind Kürzel, die es erlauben, eine php-Funktion aufzurufen, indem man etwas wie [shortcode] (also einen bestimmten Text in eckigen Klammern) im Artikeltext eingibt. Das kann einem helfen, bei bestimmten immer wieder auftauchenden Aufgaben Zeit zu sparen oder coole Features mit knappem Code einzubauen.

Um einen Shortcode zu erstellen, müssen wir php beherrschen, deswegen an dieser Stelle schonmal eine Entschuldigung an all jene, die das nicht können. WordPress-Installationen besitzen eine Datei namens functions.php. Die öffnen wir und können ihr (wer hätte das gedacht?) Funktionen hinzufügen. Dann tun wir das doch…

1
2
3
function newshortcode() {
    return 'Ich bin ein neuer Shortcode!';
}

So eine Datei functions.php gibt es auch noch in jedem Theme (Sollte es zumindest geben. Wenn nicht: Einfach anlegen). In der können wir nun etwas hinzufügen wie:

1
add_shortcode('tescht', 'newshortcode');

Ich definiere hiermit also ein Kürzel, um die Funktion aufzurufen, die soeben erstellt worden ist. Wenn man jetzt im Editor im HTML-Modus Folgendes eingibt:

1
[tescht]

Dann erscheint im Artikel statt des Kürzels [tescht]: Ich bin ein neuer Shortcode!

Man kann auf Anhieb sehen, wie mächtig diese Möglichkeit ist, denn in der ursprünglichen Funktion kann man selbstverständlich alles realisieren, was in php geht.

Keinen verwandten Inhalt gefunden.

Ihnen hat dieser Artikel gefallen oder geholfen? Prima! Dann denken Sie doch an mich, wenn Sie eine Webseite benötigen!

Dieser Eintrag wurde veröffentlicht in Wordpress und getagged , , . Bookmarken: Permanent-Link. Kommentieren oder ein Trackback hinterlassen: Trackback-URL.

2 Kommentare

  1. Stefan
    Erstellt am 20. September 2010 um 10:02 | Permanent-Link

    Habe ich eine Chance eine Shortcode in einem anderen Shortcode auszugeben.

    Zum Beispiel:


    function newshortcode() {
    return 'Test
    [googleMap]550|200|16|1|1|51.840831,6.696674|Testbeschreibung[/googleMap]';
    }
    add_shortcode('map1', 'testmap');

    Habe ich da eine Chance das umzusetzten?
    Zur Zeit wird halt einfach nur [googleMap]550|200|16|1|1|51.840831,6.696674|Testbeschreibung[/googleMap] im Artikel oder der Seite ausgegeben, aber leider keine Map gebildet.

    Hoffe mir kann jemand helfen. Bedanke mich schonmal im Vorraus.

  2. Stefan Holzhauer
    Erstellt am 20. September 2010 um 10:30 | Permanent-Link

    Wie man bei verschachtelten Shortcodes (die der Parser korrekt interpretiert, wenn man’s richtig macht) vorgehen muss, findet sich in der WordPress API: http://codex.wordpress.org/Shortcode_API#Limitations

Ihr Kommentar

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

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

Time limit is exhausted. Please reload CAPTCHA.