Shortcode készítése WordPress-ben előnézeti képe

Shortcode készítése WordPress-ben

| Olvasási idő: 1 perc

Gyakran felmerülhet az igény arra, hogy bizonyos függvények kimenetét az oldalad több részén is használd. A WordPress erre a shortcode-ok rendszerét biztosítja, melyeket sajátokkal is tudsz bővíteni - most megmutatom, hogyan. 

Kezdjük a már szokott módon: hozzunk létre egy PHP fájlt (mondjuk add-custom-shortcode.php néven) az mu-plugins mappában, a következő tartalommal: 

php
<?php
/*
Plugin Name: Example shortcode definition
Plugin URI: https://www.webmenedzser.hu
Description: Example shortcode definition
Version: 1.0
Author: isitwp
Author URI: https://www.isitwp.com/add-shortcodes/
License: GPLv3
*/

function shortcodeWithoutParameter() {
    return "Ez egy példa szöveg.";
}
add_shortcode('exampleShortcodeWithoutParameter', 'shortcodeWithoutParameter');

A fenti néhány sor hozzáadja a shortcode-okhoz az [exampleShortcodeWithoutParameter] shortcode-ot, ami a shortcodeWithoutParameter függvényt futtatja a meghívásakor. A függvény tényleges tartalma jelenleg nagyon egyszerű: gondolkodás nélkül visszaadja az Ez egy példa szöveg. szöveget. Ha szeretnénk, ezt is tudnánk tovább cifrázni (pl. attól függően, hogy be van-e jelentkezve a felhasználó vagy nem, más és más szöveget jelenítsünk meg neki).

Gyakran viszont arra is szükségünk lehet, hogy paramétereket adhassunk a shortcode-unkhoz. 

php
<?php
/*
Plugin Name: Example shortcode definition
Plugin URI: https://www.webmenedzser.hu
Description: Example shortcode definition
Version: 1.0
Author: isitwp
Author URI: https://www.isitwp.com/add-shortcodes/
License: GPLv3
*/

function shortcodeWithParameter($id, $name) {
    extract(
        shortcode_atts([
            'id' => 'id',
            'name' => 'name'
        ], $id, $name),
        EXTR_OVERWRITE
    );

    return "A megadott paraméterek: id: $id, name: $name.";
}
add_shortcode('exampleShortcodeWithParameter', 'shortcodeWithParameter');

A fenti kódrészlet hozzáadja az [exampleShortcodeWithParameter id="1234" name="Béla"] shortcode-ot, ami - jelenleg - nem tesz mást, mint kiírja az A megadott paraméterek: id: $id, name: $name. szöveget, behelyettesítve a paramétereket az $id és a $name helyére. Vagyis a példánál maradva ez a shortcode az A megadott paraméterek: id: 1234, name: Béla. szöveget írja ki. 

A lehetőségek innentől kezdve szinte végtelenek: bármilyen PHP kódot tehetsz a shortcode mögé - hogy mire használod, azt már csak a fantáziád korlátozhatja.