Come creare ed usare gli shortcode personalizzati in WordPress

Che cosa sono gli shortcode

Shortcode è una parola molto ricorrente nel gergo degli sviluppatori WP, ed è una vera e propria ancora di salvezza (oserei scrivere) per superare alcune limitazioni insite nelle funzionalità del CMS; gli shortcode permettono di inserire pezzi di funzionalità programmabili nel minimo dettaglio, inserendo quindi un contenuto personalizzato come potrebbe esserlo una tabella dinamica con dati personalizzati, il contenuto del campo specifico della tabella di un db e via dicendo.

Esempio di shortcode

Come si scrive uno shortcode è presto detto, basta inserirlo tra parentesi quadre:

[ il_mio_shortcode ]

il nome dello shortcode può contenere qualsiasi carattere (esclusi gli spazi).

Hello World! per gli shortcode di WordPress

Ad esempio [ prova_shortcode ] richiama lo shortcode ciao, molto semplicemente, che a livello di codice si traduce in una cosa del genere (stampa ciao, mondo!! a video).

// abilita lo shortcode personalizzato [prova_shortcode]
function prova_shortcode_func( $atts ){
return "ciao, mondo!!";
}
add_shortcode( 'prova_shortcode', 'f_prova_shortcode' );

Come funzionano i parametri dello shortcode

La funzione add_shortcode accetta due parametri: il primo è una stringa con il nome dello shortcode, senza parentesi quadre, così come desideriamo richiamarlo nel frontend (nello specifico, prova_shortcode). Il secondo parametro è sempre una stringa, ma questa volta fa riferimento al nome della funzione che è associata allo shortcode (nello specifico qui ho messo f_prova_shortcode).

Cosa deve restituire lo shortcode

Negli esempi che trovate in giro c’è un po’ di confusione in merito all’uso della funziona return o echo per stampare l’output: formalmente, infatti, per una serie di motivi tecnici è sempre preferibile fare uso della funzione return. Per “fare scrivere” nel frontend del sito uno shortcode, pertanto, è necessario seguire una di queste due convenzioni, avendo cura di considerare il fatto che la echo deve apparire una volta soltanto (o all’interno della funziona oppure all’esterno quando viene richiamata).

Come inserire dei parametri nei nostri shortcode

Per inserire dei parametri dinamici all’interno dei nostri shortcode, basta inserire un parametro di tipo array e chiamarlo $atts:

add_shortcode( 'my_shortcode', 'wp_function_trovalost' );
function wp_function_trovalost( $atts ) {
    $atts = shortcode_atts( array(
        'foo' => 'default'
    ), $atts, 'my_shortcode' );
    return "risultato = {$atts['foo']}";
}

Se adesso proviamo a chiamare lo shortcode in questa forma:

[ my_shortcode foo="mio parametro" ]

il risultato in output sarà:

risultato = {'mio parametro'}

Se invece proviamo a richiamarlo senza parametri, prenderà quello di default definito nel corpo della funzione:

[ my_shortcode]

il risultato in output in questo caso sarà sarà:

risultato = {'default'}

1 voto