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 1.012 volte

Leggi anche...

Tutorial: Facebook Connect e Open Graph su WordPress

Tutorial: Facebook Connect e Open Graph su WordPress

Con le recenti novità di Facebook ed il nuovo Open Graph, è stato aggiornato anche il fantastico plugin Facebook Connector alla versione 3.0.3. Oltre alle funzionalità presenti nelle versioni precedenti, sono stati aggiunti gli Open Graph Social Plugins, integrati in numerosi widget. Ho deciso così di creare una nuova guida all'installazione, visto che quella vecchia ...
WordPress: aggiungere un testo alla fine del feed RSS

WordPress: aggiungere un testo alla fine del feed RSS

Tempo fa ho spiegato come inserire un testo predefinito alla fine dei post, dal quale è venuto fuori anche un plugin: Add2post. Oggi vorrei fare una cosa analoga, ma con i feed RSS: vedremo quindi come inserire automaticamente un testo predefinito alla fine di ogni elemento del nostro feed, senza l'utilizzo di alcun plugin. Un ...
WordPress: Dare agli spammer la possibilità di redimersi

WordPress: Dare agli spammer la possibilità di redimersi

Si conclude oggi la miniserie di Camu: dopo aver visto come va modificato l'.htaccess e come farlo in automatico, oggi impariamo a personalizzare la pagina di errore. Dai commenti sul mio blog alla prima puntata di questa miniserie è venuta fuori un'interessante discussione su cosa "vedono" gli spammer presenti nella lista nera quando tentano ...
Integrare il pulsante "Condividi" con Facebook Connect

Integrare il pulsante “Condividi” con Facebook Connect

Praticamente tutti i blog hanno ormai un pulsante "Condividi su Facebook" che apre una noiosa finestra popup esterna per pubblicare l'articolo sulla bacheca del proprio profilo. E se invece integrassimo questa funzionalità con Facebook Connect? Cosa succederebbe? Semplice, invece di avere una finestra esterna, si aprirebbe un layer interno alla pagina con il famoso ...
Plugin: inserire automaticamente il profilo Twitter nei commenti

Plugin: inserire automaticamente il profilo Twitter nei commenti

Uno dei tanti plugin per WordPress che ci permettono di portare i Social Network sul nostro blog è l'interessante Automagic Twitter Profile URI. Grazie a questo plugin, daremo la possibilità all'utente che commenta un nostro articolo di inserire automagicamente il link al suo profilo Twitter, tramite un piccolo checkbox nel form dei commenti. Come funziona? ...

13 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