In questo tutorial creeremo un widget di WordPress che mostra i trend di Twitter per regione. Useremo l'API Trends di Twitter e aggiorneremo le tendenze dopo una durata specifica utilizzando l'API Transients di WordPress.
Tendenze di Twitter: Le tendenze di Twitter offrono una panoramica generale di ciò che i milioni di utenti di Twitter stanno parlando di più a un'ora specifica su Twitter, che ti darà qualche indicazione su ciò che sta accadendo in tutto il mondo.
Twitter fornisce un'API Trends, OTTIENI le tendenze /: woeid
, che è un'API RESTful che restituisce risultati in formato JSON o XML. Puoi facilmente analizzare il risultato della richiesta API e visualizzarlo.
Twitter utilizza gli ID di Where On Earth (WOEID) di Yahoo per identificare le località per le quali ha dati di tendenza.
Quindi cos'è WOEID (WHERE ON EARTH IDENTIFIERS) ?
WOEID è un identificatore di riferimento univoco assegnato dai WOEID di Yahoo !. per identificare qualsiasi luogo sulla Terra.
I widget di WordPress sono plugin per WordPress che possono essere facilmente aggiunti a regioni widgetizzate del tuo tema WordPress come la barra laterale, il piè di pagina, ecc. Per utilizzare un widget di WordPress sono necessari temi WordPress opportunamente "widgetizzati" per includere widget nell'intestazione, nel piè di pagina e altrove in le aree del widget di WordPress. Dalla dashboard gli amministratori possono facilmente aggiungere, riorganizzare, rimuovere e aggiornare i parametri del widget. Usare i widget di WordPress è molto, molto facile per i proprietari di blog non tecnici.
L'uso dei widget WorPress non richiede alcuna esperienza di codifica. Possono essere facilmente aggiunti, rimossi e riorganizzati sul pannello "Aspetto -> Widget" dell'amministrazione di WordPress tramite semplice trascinamento della selezione.
Prima di iniziare, presumo che tu abbia una conoscenza generale dell'API di WordPress Widget. In questo tutorial useremo il Boundplate di WordPress Widget di Paulund.
Creeremo un widget di WordPress che ti consente di recuperare i trend di Twitter per regione e visualizzarli sul tuo blog / sito Web WordPress.
Twitter Trends Widget offre ai visitatori del tuo blog o del tuo sito web una panoramica generale di ciò che milioni di persone su Twitter stanno parlando più ora, in base a una posizione specifica. Questo widget fornirà alcune informazioni su ciò che sta accadendo in tutto il mondo in questo momento.
Registra il 'TwitterTrendsWidget
'widget nel widget_init
azione.
/ * Nome del plugin: WP Twitter Trends Plugin URI: http://geekslabs.com/wp-twitter-trends Descrizione: Un widget per mostrare le tendenze di Twitter per regione. Versione: 1.0 Autore: Ajay Patel Autore URI: http://ajayy.com * / / ** * Registra il widget * / add_action ('widgets_init', 'TwitterTrendsWidgetInit'); funzione TwitterTrendsWidgetInit () register_widget ('TwitterTrendsWidget');
Il register_widget
la funzione chiamerà il TwitterTrendsWidget
classe che creeremo nel passaggio successivo.
/ ** * Aggiunge il widget TwitterTrendsWidget. * / classe TwitterTrendsWidget estende WP_Widget function TwitterTrendsWidget () parent :: WP_Widget (false, $ region = 'Twitter Trends Widget'); / ** * Registra widget con WordPress. * / public function __construct () parent :: __ construct ('twittertrendswidget', // ID di base 'TwitterTrendsWidget', // Name array ('classname' => 'TwitterTrendsWidget', 'description' => __ ('Un widget a mostra le tendenze di Twitter per regione. ',' tfwidget '),) // Args); // End constructor
La funzione Widget ti aiuta a visualizzare il tuo widget sul front-end. Questa funzione è chiamata per restituire l'output del widget e visualizzarlo nell'area di visualizzazione del widget (ad esempio barra laterale, piè di pagina).
Come puoi vedere stiamo raccogliendo tutti i campi richiesti dal $ esempio
array come titolo
, regione
, e scadenza
per visualizzare il widget sul sito Web con stile appropriato.
Utilizzare la seguente funzione per visualizzare il nostro Widget Trend di Twitter.
/ ** * Visualizzazione del front-end del widget. * * @see WP_Widget :: widget () * * @param array $ args Argomenti widget. * @param array $ istanza Valori salvati dall'API transitoria di WordPress. * / function widget ($ args, $ instance) extract ($ args); $ title = apply_filters ('widget_title', $ instance ['title']); $ region = apply_filters ('widget_region', $ instance ['region']); // Regione selezionata (Es. India) $ expiration = apply_filters ('widget_expiration', $ instance ['expiration']); // Catch time $ display = apply_filters ('widget_display', $ instance ['display']); // Nessuna tendenza per visualizzare echo $ before_widget; se ($ title) echo $ before_title. $ titolo. $ After_title; ?>'; per ($ i = 0; $ i < $display; $i++) echo ''$ tendenze [0] [ 'tendenze'] [$ i] [ 'name'].' '; // Visualizza le tendenze di Twitter echo ''; ?>
In questo widget Tendenze di Twitter useremo le seguenti variabili:
$ titolo
- Il titolo del nostro widget (campo della casella di testo)$ regione
- Per selezionare la regione, menu a discesa regione predefinita con valore GEOID, ad es. India: 23424848 (campo a discesa)$ scadenza
- Aggiorna le tendenze utilizzando l'API di WordPress Transients. per esempio. ogni ora, ogni giorno (campo a discesa)$ Display
- Numero di tendenze da visualizzare (campo della casella di testo)Imposteremo i valori di queste variabili usando WordPress $ esempio
variabile.
Nel codice sopra stiamo usando il twitter_trends ()
funzione. Non devi preoccuparti ora, lo spiegherò nel prossimo passaggio.
Nella funzione twitter_trends ()
stiamo passando $ regione
e $ scadenza
variabili e restituirà una serie di tendenze di Twitter per regione. Assegnalo al $ tendenze
variabile.
Successivamente, visualizzare le tendenze utilizzando un ciclo for con un limite di visualizzazione delle tendenze utilizzando il comando $ Display
variabile.
L'API Transients di WordPress consente di memorizzare temporaneamente i dati memorizzati nella cache nel database dandogli un nome personalizzato e una durata al termine della quale scadrà automaticamente e sarà cancellato.
Per ulteriori informazioni sull'API Transients di WordPress puoi fare riferimento alla nostra serie di tutorial Guida introduttiva all'API di WordPress Transients.
/ ** * Utilizzo dell'API transitoria di WordPress * * @see API Transients: http://codex.wordpress.org/Transients_API * * @param array $ count ha salvato i trend di Twitter in base ai valori delle regioni dell'API di Twitter Trends. * / function twitter_trends ($ region, $ expiration) $ count = get_transient ('twitter_trends'); if ($ count! == false) return $ count; $ count = 0; $ url = 'https://api.twitter.com/1/trends/'.$region.'.json?count=50'; $ dataOrig = file_get_contents ($ url, true); // ottenere il contenuto del file if (is_wp_error ($ dataOrig)) return 'Errore durante il recupero dei dati dall'API di Twitter!'; else $ count = json_decode ($ dataOrig, true); // ottenere il contenuto del file come array set_transient ('twitter_trends', $ count, 60 * 60 * $ di scadenza); // imposta cache return $ count;
Come ti ho detto prima, stiamo passando due variabili $ regione
e $ scadenza
in questa funzione.
Ora, utilizzando le tendenze Trends di Twitter, GET trend /: woeid. Supponi la nostra variabile $ regione
ha un valore di "23424848". Proviamo ad ottenere le attuali tendenze di Twitter per l'India.
https://api.twitter.com/1/trends/23424848.json?count=50
Basta incollare questo URL nel tuo browser. Vedrai la risposta delle tendenze in formato JSON. Usando il file_get_contents ()
legge un file in una stringa. Se non ci sono errori nella risposta allora usando json_decode ()
ottiene una stringa codificata JSON e la converte in una variabile oggetto PHP count $
.
Ora aggiorna la variabile Twitter Trends
set_transient ('twitter_trends', $ count, 60 * 60 * $ scadenza); // imposta la cache
La funzione di aggiornamento del widget di WordPress viene utilizzata per aggiornare le variabili del modulo del widget al database inviando un modulo di amministrazione del widget.
/ ** * Disinfetta i valori del modulo del widget mentre vengono salvati. * * @see WP_Widget :: update () * * @param array $ new_instance Valori appena inviati per essere salvati. * @param array $ old_instance Valori precedentemente salvati dal database. * * @return array Valori di sicurezza aggiornati da salvare. * / aggiornamento della funzione ($ new_instance, $ old_instance) $ instance = array (); $ instance ['title'] = strip_tags ($ new_instance ['title']); $ instance ['region'] = strip_tags ($ new_instance ['region']); $ istanza ['expiration'] = strip_tags ($ new_instance ['expiration']); $ instance ['display'] = strip_tags ($ new_instance ['display']); delete_transient ('twitter_trends'); restituire $ istanza;
Le opzioni del widget sono state memorizzate in una variabile di matrice chiamata $ esempio
. La funzione di aggiornamento richiede due parametri, $ new_instance
e $ old_instance
. $ old_instance
che contiene tutti i valori delle opzioni che erano già stati salvati in precedenza e $ new_instance
che contiene tutti i valori delle opzioni che abbiamo appena aggiornato tramite il modulo di amministrazione del widget.
Questa funzione imposta ciascun valore di istanza precedente nell'array uguale al valore appropriato nella nuova istanza.
La funzione modulo widget viene utilizzata per creare il modulo widget nel dashboard per memorizzare o aggiornare le variabili del widget. La creazione di una forma di widget è molto semplice, genererà un modulo HTML con un campo per le nostre opzioni.
/ ** * Modulo widget back-end. * * @see WP_Widget :: form () * * @param array $ istanza Valori precedentemente salvati dal database. * / function form ($ istanza) $ title = esc_attr ($ istanza ['titolo']); $ region = esc_attr ($ istanza ['regione']); $ expiration = esc_attr ($ istanza ['expiration']); $ display = esc_attr ($ istanza ['display']); ?>
In questa funzione puoi vedere il $ esempio
parametro, che consente al nostro modulo HTML di leggere le opzioni del widget salvato.
Puoi vedere il codice completo nel plugin WP Twitter Trends nella directory dei plugin di WordPress.org o scaricarlo dal link all'inizio di questo articolo.
E qui abbiamo sviluppato con successo un WP Twitter Trends Widget! È possibile scaricare il codice sorgente e modificare il layout del widget front-end aggiungendo nuovi stili CSS. Puoi anche creare un widget a schede per separare gli argomenti e gli hashtag delle ultime tendenze. Ora hai un widget di tendenze sul tuo sito o blog.
.