Shortcode: il tuo plugin in poche mosse
Scritto da Alberto il 7 Apr 2008 in Wordpress
Vi siete mai trovati a dover scrivere un plugin per wordpress che trasformi qualcosa nel vostro articolo in qualcos’altro? Vi faccio un esempio:
[mia-sezione background="red"]Questa parte di testo avrà il background rosso[/mia-sezione]in ->
<span style=”background:red;”>Questa parte di testo avrà il background rosso</span>Ebbene i nostri amici di Wordpress (con la versione 2.5) ci risparmiano la scrittura di espressioni regolari e inseriscono una nuova funzione che fa tutto per noi e ci aiuta nella scrittura dei nostri plugin!
Vediamo in breve come riprodurre l’esempio fatto sopra..
Cominciamo con lo scrivere una funzione che converta il contenuto del nostro “tag-personale” nel contenuto finale. Alla funzione verranno passati due valori:
- attributi: array associativo
- contenuto: testo (stringa)
Gli attributi sono i parametri chiave->valore del nostro tag, ad es: [mio-tag attributo1="valore1" attributo2="valore2"] che in PHP verranno memorizzati come $attributi['attributoX']=valoreX .
Il contenuto è la parte di testo contenuta tra il tag di apertura e chiusura. NB: il contenuto può anche essere vuoto quindi dobbiamo prevedere un comportamento di default. Nel nostro caso non faremo nulla se il contenuto è vuoto.
Vediamo quindi la nostra funzione:
function mia_sezione_shortcode( $attributi, $contenuto= null ) {
if( !isset($attributi['background']) )
$attributi['background']=’#0AA’;
return ‘<span style=”background:’ . $attributi['background'] . ‘; “>’ . $contenuto . ‘</span>’;;
}Se vogliamo dare la possibilità al contenuto di essere ulteriormente analizzato alla ricerca di shortcode sarà sufficiente scriverlo nel return nel seguente modo:
return ‘<span style=”background:’ . $attributi['background'] . ‘; “>’ . do_shortcode($contenuto) . ‘</span>’;Fatto ciò non resta che registrare la nostra funzione come gestore di shortcode per il tag “mia-sezione”:
add_shortcode(’mia-sezione’, ‘mia_sezione_shortcode’);Abbiamo finito! Ora possiamo sbizzarrirci a creare plugins senza rallentamenti e con molta comodità!
Vi allego qui il plugin fatto da me per creare le sezioni di codice che uso qui su itcoffee.net che può andare a sostituire il plugin Quickcode nel caso non abbiate bisogno di quei “mostra/nascondi codice” che fornisce quel plugin.


Lasciaci il tuo commento..