WordPress: do_shortcode

WordPress: do_shortcode

di Pubblicato: 31 dicembre 2014 0 commenti

Scopriamo la funzione do_shortcode presente tra le funzioni core di WordPress. Sostanzialmente uno shortcode è un codice che richiama una specifica funzione, generalmente racchiuso tra parentesi quadre. Ad esempio ve ne sono alcuni per mostrare la galleria foto, altri come quelli che vedete qui negli articoli, per richiamare la formattazione di un testo di codice. Tutte questi richiami rapidi operano delle specifiche funzioni all’interno del testo di un post o di una pagina. E se volessimo operare nella barra laterale o nel piè di pagina attraverso widget o direttamente sul codice del tema?

Nel caso dei widget si può utilizzare il predefinito Testo che permette appunto il riconoscimento degli shortcode, ma nel caso di un nuovo widget, o di un inserimento diretto nel tema viene in soccorso la funzione do_shortcode.

Ecco come funziona, in generale si può utilizzarla con una semplice echo

echo do_shortcode('[mioshortcode]'); 

tuttavia gli shortcode non sono sempre così lineari, ad esempio possono avere dei tag di apertura ed chiusura, oppure possono avere delle opzioni come i due esempi sottostanti:

echo do_shortcode('[mioshortcode]'  . $variabile_o_testo_da_inserire . ' [/mioshortcode]');
echo do_shortcode('[mioshortcode id="10" class="red"]');

Come si intuisce sarà quindi possibile esportare uno shortcode ovunque vogliamo nel nostro sito, e non necessariamente all’interno del testo. Ovviamente il codice che trasforma lo shortcode in funzione attiva deve essere presente ed attivato. Mi riferisco, al di là delle funzioni specifiche di un tema, a tutti quei plugin che aggiungono specifici shortcode, ad esempio le form, una mappa eccetera. Se il corrispondente plugin è disattivato lo shortcode non verrà convertito, ma verrà mostrato a video il codice di richiamo tra le parentesi quadre così come lo avrete scritto.

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi