Sabato
19
Marzo 2022
Come creare shortcode per WordPress? In questa guida vedremo come si crea uno shortcode per il CMS più utilizzato nel mondo senza errori.
Uno degli errori più comuni quando si crea uno shortcode personalizzato è
Fatal error: Cannot redeclare function my_function
Ma partiamo dall’inizio:
Tempo richiesto: 30 minuti
Come creare uno shortcode in WordPress?
Uno shortcode non è nient’altro che una funzione in PHP che restituisce un valore, una funzione oppure stampa a video un contenuto per l’utente.
Il codice completo per creare uno shortcode è il seguente:
<?php function my_function() { ob_start(); //inserisci qui il tuo codice $content = ob_get_clean(); return $content; } add_shortcode('my_shortcode_name', 'my_function'); ?>
Analizziamo la funzione:
“my_function()” è il nome della tua funzione personalizzata, puoi scegliere quello che vuoi a patto che sia univoco, cioè che non ci sia un’altra funzione con lo stesso nome in tutti i file del tuo sito web.
Per evitare conflitti io utilizzo un prefisso di tre lettere prima di tutte le funzioni che sviluppo così da ridurre la probabilità di funzioni duplicate.
Il risultato è simile a “prefisso_my_function”.
“ob_start()” e “ob_get_clean()” sono funzioni di output del core di php che recuperano il contenuto della funzione, lo cancellano e lo restituiscono solo al momento dell’output, cioè nel punto esatto in cui viene posizionato lo shortcode nella pagina.
“return”: gli shortcode vengono prima dichiarati nel tuo file php, poi aggiunti al core di WordPress e successivamente il loro contenuto viene stampato nel punto della pagina in cui sono dichiarati.
Il WordPress Codex consiglia vivamente di utilizzare l’istruzione return al posto di echo per evitare che il contenuto venga mostrato in posizioni non corrette.
Utilizzare echo potrebbe duplicare il tuo shortcode nella pagina di modifica di un visual composer o, peggio, nel frontend.
Ora che hai scritto la tua funzione dovrai aggiungere il tuo shortcode al core di WordPress, per farlo usiamo la funzione add_shortcode();
Questa funzione accetta due parametri di tipo stringa:
add_shortcode('my_shortcode_name', 'my_function');
Il primo parametro (my_shortcode_name) è il nome del tuo shortcode, quello che utilizzerai nelle pagine del sito per richiamare la funzione che hai creato.
Il codex di WordPress impone l’utilizzo di sole lettere minuscole nei nomi degli shortcode, accetta anche trattini bassi e numeri ma ne sconsiglia l’uso.
Il secondo parametro è il nome della funzione da eseguire, quindi se la tua funzione si chiama
“function my_function() { /* codice da eseguire */ }”
dovrai inserire come parametro”my_function” senza le parentesi tonde.
Con questa funzione potrai richiamare il tuo shortcode in qualsiasi file php del tuo sito e anche in ogni pagina o articolo.
Per visualizzare il contenuto del tuo shortcode dovrai semplicemente inserire il nome che gli hai dato fra due parentesi quadre, in questo modo:
[my_shortcode_name]
Questa sintassi effettua l’ echo dei contenuti della funzione nel punto esatto in cui viene inserito all’interno della pagina.
Questa sintassi può essere utilizzata solo all’interno dell’editor di WordPress, come elemento shortcode di Gutenberg o di un altro visual composer.
Per utilizzare il tuo shortcode in altri file .php puoi semplicemente richiamare la funzione che genera il tuo shortcode, in questo caso useremo
echo my_function();
oppure puoi utilizzare la funzione del core di WordPress do_shortcode() in questo modo:
echo do_shortcode('[my_shortcode_name]');
Questa funzione accetta due parametri:
il primo è il nome dello shortcode da richiamare (compreso di parentesi quadre), il secondo è un valore booleano non obbligatorio impostato di default su false.
Per creare un nuovo shortcode in WordPress dovrai inserire il codice in un file .php del tema in uso oppure in un plugin.
Non modificare mai il codice sorgente dei temi o dei plugin perchè potresti causare errori al tuo sito web. In ogni caso, il codice che aggiungi andrebbe perso al primo aggiornamento del tema o del plugin che hai modificato.
Se hai intenzione di creare diversi shortcode per il tuo sito web allora ti consiglio un tuo plugin personalizzato e di dedicare un file php per ogni shortcode che vorrai aggiungere. Ricorda che i file degli shortcode dovranno essere inclusi all’interno del file principale del tuo plugin.
Se invece vuoi creare uno/due shortcode al massimo allora ti consiglio di inserirli nel file functions.php del tuo tema child.
Per rendere più dinamici gli shortcode, WordPress mette a disposizione gli attributi, cioè delle variabili che ti consentono di passare dei valori direttamente alla funzione che genera il tuo shortcode.
Per sapere di cosa si tratta perché non dare un’occhiata alla nostra guida dedicata?
Perchè non dai uno sguardo alla documentazione ufficiale di wordpress?
Scrivi un commento