
Come si può intuire dal titolo, oggi affronteremo un argomento importante in termini di velocità di sviluppo: gli Shortcode!
Quando uno Shortcode è inserito in un post o in una pagina, del nostro WordPress, in front-end verrà sostituito con un altro contenuto… In poche parole questo Shortcode dirà a WordPress: “quando vedi scritto [shortcode] sostituiscilo con un contenuto che dico io”…
Quindi, lo si può utilizzare, ad esempio, per stampare un contenuto che dovrà ripetersi in molte pagine, così quando arriverà il giorno in cui dovrò cambiare quel contenuto, non dovrò modificare tutte le pagine in cui è scritto, ma cambiare la funzione PHP in cui è scritto.
Oppure se voglio creare un bottone, che verrà inserito in tutti i miei post, non sarà necessario scrivere tutto il codice su ogni post, ma userò solo, per esempio, [bottone].
Vediamo ora come creare uno Shortcode…
Per primissima cosa, apriamo il file function.php del nostro tema (meglio se nel child del tema, così se dovessimo aggiornarlo non perderemmo le nostre modifiche ai file .php) e inseriamo la segente stringa:
function nome_funzione ( $atts,$content = null ) { return 'stringa_php_oppure_html'; } add_shortcode("nome_shortcode", "nome_funzione");
Andiamo a sostituire i vari valori:
- nome_funzione sostituiamolo con un nome che andrà ad indicare la nostra funzione (es. bottone_blu)
ATTENZIONE, OGNI FUNZIONE DOVRÀ AVERE UN NOME UNIVOCO. - stringa_php_oppure_html sostituiamolo con il contenuto che andremo a stampare in front-end (es. il codice html del nostro bottone)
- nome_shortcode sostituiamolo con il nome che useremo per replicare il contenuto (es. bottoneblu)
Ora non serve altro che entrare nel nostro post o pagina e scrivere lo Shortcode [nome_shortcode] (es. [bottoneblu]) dove si vuole visualizzare il contenuto.
E se per caso volessimo usare i nostri Shortcode in un file .php del nostro tema?
In questo caso, si dovrà inserire la seguente stringa all’interno del nostro file .php in base a dove si vuole visualizzare il contento:
<?php echo do_shortcode('[nome_shortcode]'); ?>