BigThink

Plugin WordPress per pubblicare su Twitter i nostri post

WordPress to Twitter

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 che quanto sto per dire vale per qualsiasi altro servizio che metta a disposizione le proprie API: Facebook, Google, Technorati e FriendFeed sono solo alcuni esempi. E non è detto che si debba usare un servizio soltanto alla volta: il plugin che ho realizzato per il mio blog, ad esempio, fa anche da “passacarte”: legge una fonte RSS definita da me (ad esempio Il Corriere della Sera) e posta i titoli delle notizie sul mio canale Twitter, al verificarsi di certe condizioni.

Altri hanno scritto plugin che, usando lo stesso meccanismo, prendono i commenti su FriendFeed e li ripubblicano sul blog, per tenere intatto il filo della discussione. Per non complicare il codice, ho omesso questa parte nel seguito.

A differenza dell’esempio visto la scorsa settimana, il plugin che segue usa la libreria cURL di PHP per interagire con Twitter: alcune funzioni richiedono infatti l’autenticazione per motivi di sicurezza (solo io devo essere in grado di postare sul mio canale Twitter, ti pare?).

Ma, tecnicismi a parte, il concetto di fondo non cambia: si fa una richiesta (nello specifico “aggiungi un nuovo messaggio al mio canale”) e si riceve una risposta in XML (che sarà del tipo “ok, fatto” oppure “huston, abbiamo un problema” a seconda dei casi):

function faiRichiesta($method, $url, $vars, $username, $password) {
   if (!function_exists(curl_init)) {
       return 1; // Errore 1: Curl non installato
    }

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_NOBODY, 0);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    if (!empty($username) && !empty($password))
        curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);

    if ($method == 'POST') {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
    }

    $data = curl_exec($ch);
    $response = curl_getinfo($ch);

    if ( (intval($response['http_code']) == 200) && !empty($data) ) {
        curl_close($ch);
        return $data;
    }
    return $response['http_code']; // Qualcosa è andato storto nella richiesta    
}

Scriviamo quindi il plugin che, quando scrivo un nuovo post sul blog, pubblica il titolo e la URL su Twitter.

Il sorgente in PHP puoi scaricarlo qui di seguito: è un codice rudimentale, che puoi decidere di provare sul tuo blog. Ma ricorda di inserire la tua login e password di Twitter, altrimenti non funziona.

Twitter Update  Twitter Update (1,8 KiB) - scaricato 971 volte

Leggi anche...

6 Plugin WordPress per la gestione di Ruoli e Permessi

6 Plugin WordPress per la gestione di Ruoli e Permessi

Se utilizzi WordPress come CMS per i tuoi siti o se hai un blog multiautore, avrai prima o poi la necessità di limitare i permessi dei vari autori. Fare in modo che possano scrivere solo in una certa categoria, evitare che modifichino i tuoi articoli, creare aree riservate... La gestione dei Ruoli è importante ...
Escludere una categoria da tutte le sezioni di WordPress

Escludere una categoria da tutte le sezioni di WordPress

Tempo fa abbiamo visto come escludere i post di una certa categoria dalla Home del nostro blog WordPress. E se volessimo escludere una categoria da ogni sezione del blog? Dalla home, dal feed RSS, dalla ricerca, dagli archivi... Se siamo pigri, ci viene incontro il plugin Advanced Category Excluder, ma se invece siamo più smanettoni ...
5+1 Pulsanti con contatore per condividere i post sui Social

5+1 Pulsanti con contatore per condividere i post sui Social

Dare la possibiltà ai propri lettori di condividere i post che hanno letto ed apprezzato è un'opportunità che non si può perdere ed ormai è alla base del web sociale. Possiamo utilizzare plugin appositi che mostrano decine e decine di icone sociali per la condivisione, ma dare all'utente troppa scelta è un pericolo: va ...
Come inserire il Facebook Like Button su WordPress

Come inserire il Facebook Like Button su WordPress

Nello scorso articolo ti ho spiegato i pro e i contro del Like Button. Se ti sei convinto e ora vuoi installarlo su ogni post del tuo blog WordPress, ora vedremo come fare. In molti hanno avuto problemi, quindi ti spiegherò nel dettaglio sia come inserirlo manualmente, che con i plugin appositi. Pronti, via! Inserire il ...
Inserire blocchi di codice in WordPress evidenziando la sintassi

Inserire blocchi di codice in WordPress evidenziando la sintassi

Se gestite un blog simile al mio in cui trattate di programmazione o di sviluppo web, potreste aver bisogno di inserire dei segmenti di codice nei vostri post e magari anche la possibilità di evidenziare la sintassi come sul vostro editor preferito. A meno che non vogliate mettervi a colorare a mano ogni singola ...

4 Commenti

  1. giuseppe

    ciao sono alla ricerca di un plugin che pubblica direttamente gli articoli su twitter, il tuo mi sembra che lo faccia, io ho inserito username e la password di twtitter e ho cambiato il http://www.duechiacchiere con il mio sito (non so se lo dovevo fare), ma poi è arrivato il problema il plugin dove lo devo inserire per funzionare?

    nella sezione header, index, page non sapendolo ti cheido lumi, grazie in anticipo, ciao.

    26 novembre 2010, 20:43
  2. Ciao, ho provato a scaricare il PlugIn ma non va: l’idea è comunque molto buona e molto utile!!

    26 maggio 2010, 19:17
  3. Adoro le immagini che riesci ad associare ai post ;)

    28 settembre 2009, 13:41
    • Ehehe, ci metto ore per cercarle o per comporle (come questa o quella del “gancio”)

      28 settembre 2009, 15:18

9 Citazioni