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…

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:

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:

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

Posted in Wordpress and tagged , , .

2 Comments

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.