BigThink

Un gancio per attaccarsi a WordPress

WordPress Hook

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:

function inviaMessaggio($id_articolo){
    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:

add_action('publish_post', 'inviaMessaggio');

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

<?php
/*
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

Leggi anche...

WordPress: mostrare TOT parole di anteprima di un post

WordPress: mostrare TOT parole di anteprima di un post

Oggi vi spiegherò un piccolo tip per il vostro tema WordPress, veramente banale ma che in molti spesso mi chiedono. Come fare a mostrare solamente le prime 100 parole di un post? E' infatti una necessità comune quella di visualizzare in home page solamente l'estratto di ogni articolo, magari impostando noi stessi il numero ...
Plugin WordPress per pubblicare su Twitter i nostri post

Plugin WordPress per pubblicare su Twitter i nostri post

Terza ed ultima parte della miniserie realizzata da Camu: dopo averci introdotti agli Hook di WordPress e alle API di Twitter, è giunto il momento di mescolare bene gli ingredienti. Ora che abbiamo a disposizione tutti gli strumenti, non rimane che metterli insieme per realizzare il plugin che scrive automaticamente sul canale Twitter. Vorrei precisare ...
Impostare l'anteprima quando condividiamo un post su Facebook

Impostare l’anteprima quando condividiamo un post su Facebook

Quello che voglio condividere con voi oggi è un trucchetto facile, ma molto utile, che sicuramente pochi di voi conoscono ed utilizzano. Provate a condividere questo post su Facebook, pubblicandolo tramite la vostra bacheca oppure cliccando sull'icona di Facebook appena sotto l'articolo. Cosa notate? Vi si aprirà la finestra per condividerlo ma, a differenza ...
Ottimizzare WordPress per i motori di ricerca, senza plugin

Ottimizzare WordPress per i motori di ricerca, senza plugin

Uno dei plugin che la maggior parte dei blog usa per l'ottimizzazione delle pagine sui motori di ricerca è il famoso All in One SEO Pack. Sicuramente un ottimo plugin, nulla da dire, ma se vi trovaste nella situazione di dover alleggerire il vostro sito in quanto utilizza troppa RAM e CPU, dovreste iniziare ...
WordPress: trovare la categoria corrente e quella padre

WordPress: trovare la categoria corrente e quella padre

Chi è solito creare template per WordPress o chi si è trovato a dover modificare il proprio avrà notato che le funzioni che abbiamo a disposizione per lavorare con le categorie di WordPress non sono poi molte. Spesso bisogna, infatti, andarsi a spulciare documentazione e sorgenti, per trovare il modo di fare quello ...

23 Commenti

  1. Molto utile sapere la differenza tra “add_filter” e “add_action” :-)
    Ho opportunamente modificato il mio tema utilizzando la funzione adatta :-)

    Grazie.

    25 gennaio 2011, 03:07
  2. ma questa miniserie ha avuto un seguito?!

    25 novembre 2009, 17:47
    • E’ una cosa che ho notato anche io: da uno degli articoli non è possibile risalire alla serie completa. Ghido, qui bisogna sistemare la faccenda :D

      25 novembre 2009, 18:00
      • ah quindi ci sono! questo è l’importante! :)
        ora cerco, grazie!

        25 novembre 2009, 18:02
        • Caspita, avete ragione!
          Ho provveduto ad inserire alla fine di ogni articolo i dovuti rimandi a quelli successivi.

          Grazie e scusate la svista ;)

          25 novembre 2009, 19:22
          • emiliano

            ok ma qualcuno mi risponde?

            grazie

            25 novembre 2009, 19:56
  3. 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

    25 novembre 2009, 17:44
    • Non ho mai usato wordpress.com, però non mi pare sia possibile inserire plugin personalizzati…

      25 novembre 2009, 20:05
  4. Veramente interessante. E speriamo lo siano anche i prossimi :)

    17 settembre 2009, 14:21
    • Lo spero anche io :) Beh, ovviamente se qualcuno si mette a sperimentare con i plugin, ci faccia sapere!

      17 settembre 2009, 15:25
  5. Sicuramente saranno ottimi interventi ;) Complimenti Camu.

    17 settembre 2009, 13:05
  6. Mi interessa molto. Vi seguirò anche se sono un po’ duro di comprendonio.

    16 settembre 2009, 18:19
    • Proprio per questo ho cercato di usare un approccio semplice e discorsivo :) Accessibile anche ai meno smaliziati…

      16 settembre 2009, 19:38
  7. Meraviglioso :) thx!

    16 settembre 2009, 17:00
  8. @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…

    16 settembre 2009, 16:07
  9. 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?

    16 settembre 2009, 15:57
  10. Non posso che ringraziare BigThink per l’ospitalità ;)

    16 settembre 2009, 15:17
    • E io ringrazio te per l’ottimo articolo e quelli futuri :)

      16 settembre 2009, 18:16
  11. =) Interessante rubrica, la seguirò con interesse

    16 settembre 2009, 12:03

4 Citazioni