
Con questo primo Guest Post inizia una miniserie di articoli scritti da Camu, che ci condurrà passo-passo nella personalizzazione del nostro blog WordPress.
Una delle funzionalità che fanno di WordPress una piattaforma su cui sviluppare funzionalità personalizzate per il proprio sito, è la capacità di essere esteso tramite i cosiddetti plugin.
Possiamo fare l’analogia con i mattoncini della Lego: ogni pezzo può avere forma e dimensione diversa, ma tutti hanno quelle piccole protuberanze che consentono di incastrarli l’uno all’altro.
Gli sviluppatori di WordPress hanno usato lo stesso concetto: gli hooks, che in Italiano potremmo tradurre con “agganci”. Mai termine è stato più azzeccato, secondo me, perché esprime anche in maniera visuale questo meccanismo.
Praticamente ogni azione che “succede” in WordPress è dotata di un gancio, a cui possiamo attaccare le nostre funzioni personali. Per azioni intendo, ad esempio, il fatto che l’amministratore si autentica nel pannello di controllo, o che un visitatore lascia un commento, oppure ancora che venga pubblicato un nuovo articolo da qualche redattore.
Per funzioni personali intendo una cosa del tipo “Invia una email all’indirizzo pinco@pallino.it” oppure “Rimuovi tutte le lettere maiuscole dal contenuto”. Ognuna di queste funzioni accetta uno o più parametri in ingresso e restituisce un valore in uscita (i dettagli vengono forniti dall’esaustivo manuale di WordPress), come in:
mail('pinco@pallino.it', 'Un nuovo articolo su BigThink', 'Su BigThink ho appena scritto un nuovo articolo');
return $id_articolo;
}
A questo punto basta mettere insieme azioni e funzioni: quando viene pubblicato un nuovo articolo, invia una email di avviso:
L’azione da usare si desume dal manuale di WordPress.
Quindi si “impacchetta” tutto in un file PHP, aggiungendo il nome del plugin, l’autore e la sua email
/*
Plugin Name: Invia Email
Description: Manda un messaggio quando si pubblica un nuovo articolo
Author: Camu
Author URI: http://www.duechiacchiere.com/
*/
function inviaMessaggio($id_articolo){
mail('pinco@pallino.it', 'Un nuovo articolo su BigThink', 'Su BigThink ho appena scritto un nuovo articolo');
return $id_articolo;
}
add_action('publish_post', 'inviaMessaggio');
?>
Per completezza, va detto che esiste anche un altro modo per “agganciare” le proprie funzioni a WordPress: i filtri. Il concetto è simile, ma stavolta invece che personalizzare le azioni, si cambiano le funzioni del sistema, generalmente usate quando si scrive un nuovo tema.
La miniserie continua:
Autore: Camu di DueChiacchiere




Molto utile sapere la differenza tra “add_filter” e “add_action”
Ho opportunamente modificato il mio tema utilizzando la funzione adatta
Grazie.
ma questa miniserie ha avuto un seguito?!
E’ una cosa che ho notato anche io: da uno degli articoli non è possibile risalire alla serie completa. Ghido, qui bisogna sistemare la faccenda
ah quindi ci sono! questo è l’importante!
ora cerco, grazie!
Caspita, avete ragione!
Ho provveduto ad inserire alla fine di ogni articolo i dovuti rimandi a quelli successivi.
Grazie e scusate la svista
ok ma qualcuno mi risponde?
grazie
ciao a tutti e complimenti per l’iniziativa.
questi comandi sono per un’installazione in locale o li posso sviluppare anche per il mio spazio http://retuvasa.wordpress.com
totalmente on line?
grazie
Non ho mai usato wordpress.com, però non mi pare sia possibile inserire plugin personalizzati…
Veramente interessante. E speriamo lo siano anche i prossimi
Lo spero anche io
Beh, ovviamente se qualcuno si mette a sperimentare con i plugin, ci faccia sapere!
Sicuramente saranno ottimi interventi
Complimenti Camu.
Mi interessa molto. Vi seguirò anche se sono un po’ duro di comprendonio.
Proprio per questo ho cercato di usare un approccio semplice e discorsivo
Accessibile anche ai meno smaliziati…
Meraviglioso
thx!
@adedip, “tecnicamente” l’hook è l’azione a cui vuoi agganciarti (nel mio esempio, publish_post), mentre add_action è il modo per dire a WordPress che vuoi agganciare qualcosa a quell’hook. Però tecnicismi a parte, il tuo procedimento è corretto
Attento, quando scrivi la funzione, ad usare i parametri in ingresso specificati dal manuale, anche se non li usi poi nel corpo. Altrimenti rischi che non funzioni più nulla…
quindi riassumendo:
1. scrivo una funzione che faccia quello che mi serve..
2. con add_action indico quando “triggerare” la mia nuova funzione? è add_action l’hook?
Non posso che ringraziare BigThink per l’ospitalità
E io ringrazio te per l’ottimo articolo e quelli futuri
=) Interessante rubrica, la seguirò con interesse