Cosa sono gli shortcode
Utilizzare gli shortcode è un modo molto semplice per ampliare le funzionalità di wordpress. Possiamo scrivere una funzione per noi utile e richiamarla all’interno dell’editor in questo modo: [shortcode] dove shortcode deve essere sostituito con il nome della funzione creata. Possiamo decidere di richiamare funzioni particolari sia all’interno dei post sia all’interno dei file template.
Creare uno shortcode
Per prima cosa dovremo registrare il nostro shortcode all’interno del file functions.php scrivendo la funzione con il codice che desideriamo venga presentato all’utente. Di seguito proponiamo un esempio:
function esempio_shortcode( $atts ){
return "lo shortcode di esempio della dot4all";
}
Attivazione dello shortcode
Per attivare lo shortcode appena creato possiamo richiamare la seguente funzione:
add_shortcode( 'esempio', 'esempio_shortcode' );
In questo modo abbiamo attivato lo shortcode della funzione ‘esempio_shortcode’ definendo il nome dello shortcode con ‘esempio’.
Utilizzare lo shortcode
Per utilizzare lo shortcode appena creato all’interno di un post useremo:
[esempio]
Per utilizzare lo shortcode appena creato all’interno di una pagina di template:
<?php echo do_shortcode('[esempio]'); ?>
Altri utilizzi degli shortcode
L’esempio precedente è solo l’1% di quello che possiamo realizzare con uno short code. Potenzialmente potremmo scrivere una function più complessa che genera un intero codice html e includerlo in qualunque post desiderato.
Di seguito un semplice esempio che utilizza la funzione ob_start() di php per convertire codice html in una stringa e mostrarlo nella pagina all’utente:
function secondo_esempio_shortcode() {
ob_start(); ?>
<div><p>esempio di contenuto html</p></div>
<?php $stringa_di_output = ob_get_contents();
ob_end_clean();
return $stringa_di_output;
}
Analisi della funzione
Elementi fondamentali della funzione precedente sono, come già accennato in precedenza, la funzione php ob_start() che possiamo immaginarla come premere il tasto rec di una videocamera. Da quel momento in poi tutto ciò che scriviamo dopo verrà memorizzato in un buffer (per continuare la metafora verrà memorizzato in una memory card). Se volessimo modificare il contenuto appena memorizzato agiremo sulla variabile $stringa_di_output che viene riempita con il contenuto di tutto ciò che abbiamo registrato fino a quel momento (ob_get_contents()).
L’ultima cosa da fare prima del return del nostro contenuto html che verrà mostrato a video tramite lo shortcode è pulire il buffer tramite la function ob_end_clean() (in poche parole formattiamo la memory card per permettere a qualcun altro di utilizzarla).
Iniziate ad utilizzare gli shortcode di wordpress prendendo spunto da questi semplici esempi.