Abbiamo già scritto di un codice che ti permette di visualizzare il conteggio dei follower di Twitter che è stato contribuito da Rarst. In questo articolo, condivideremo un codice più avanzato ed elegante che ti permette di visualizzare il conteggio dei follower di Twitter in WordPress. Ancora una volta, questo script è stato anche contribuito da Rarst.
Funzionalità
Questa funzione non è limitata al conteggio dei follower. Può recuperare qualsiasi valore non nidificato restituito dal metodo API Twitter users/show.
Ha due livelli di cache:
- i valori interrogati vengono memorizzati come array nel database, utilizzando le opzioni di WP, per $interval secondi;
- le risposte API vengono memorizzate in memoria in modo da poter interrogare qualsiasi numero di campi, senza generare richieste API multiple.
Questo dovrebbe essere sicuro da usare per valori multipli e utenti multipli contemporaneamente, senza preoccuparsi di esaurire il limite API.
Tutorial
Apri prima il file functions.php del tuo tema e aggiungi il seguente codice:
function rarst_twitter_user( $username, $field, $display = false ) {
$interval = 3600;
$cache = get_option('rarst_twitter_user');
$url = 'http://api.twitter.com/1/users/show.json?screen_name='.urlencode($username);
if ( false == $cache )
$cache = array();
// if first time request add placeholder and force update
if ( !isset( $cache[$username][$field] ) ) {
$cache[$username][$field] = NULL;
$cache[$username]['lastcheck'] = 0;
}
// if outdated
if( $cache[$username]['lastcheck'] < (time()-$interval) ) {
// holds decoded JSON data in memory
static $memorycache;
if ( isset($memorycache[$username]) ) {
$data = $memorycache[$username];
}
else {
$result = wp_remote_retrieve_body(wp_remote_request($url));
$data = json_decode( $result );
if ( is_object($data) )
$memorycache[$username] = $data;
}
if ( is_object($data) ) {
// update all fields, known to be requested
foreach ($cache[$username] as $key => $value)
if( isset($data->$key) )
$cache[$username][$key] = $data->$key;
$cache[$username]['lastcheck'] = time();
}
else {
$cache[$username]['lastcheck'] = time()+60;
}
update_option( 'rarst_twitter_user', $cache );
}
if ( false != $display )
echo $cache[$username][$field];
return $cache[$username][$field];
}
Utilizzo
Una volta incollata la funzione, ora puoi usare il codice in qualsiasi file di modello di WordPress desideri. Incolla semplicemente il seguente codice:
echo rarst_twitter_user('wpbeginner', 'name').' has '.
rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
Il codice sopra visualizzerà qualcosa di simile a questo:
WPBeginner ha 5846 follower dopo 1300 aggiornamenti.
Fonte: Rarst


Aleks
Qualcuno mi spieghi dove inserire il mio nome utente di Twitter per favore? Perché proprio non riesco a vedere dove... E non riesco nemmeno a farlo funzionare... Non importa cosa... Non mi dà il nome utente, nemmeno lasciandolo completamente basilare così com'è ora, non ricevo alcuna risposta sul nome utente in assoluto... mostra solo: "ha follower dopo gli aggiornamenti"...
Questo è tutto... niente altro...
wpbeginner
Nella sezione di utilizzo, sostituisci "wpbeginner" con il tuo nome Twitter.
Downhill_MC
questo è un ottimo codice. Mi chiedo se ci sia la possibilità di creare una funzione per incorporarla nel testo (qualcosa come ). downhill_mc
Sandeep
potresti per favore dirmi come dovrei aggiungere questi codici nella mia immagine personalizzata di Twitter come ci mostri nel tuo esempio.
Staff editoriale
Dovresti usare il CSS.. sfortunatamente non stiamo scrivendo tutorial per quelli su questo sito.
Amministratore
Ozh
(Dovresti mostrare il codice evidenziato per sintassi e ben formattato, davvero)
Rarst
Ho appena notato che hai perso il + tra time() e 60
Staff editoriale
Grazie per la correzione. Apprezziamo molto che tu fornisca gli snippet fantastici che tutti possono usare. Il tuo duro lavoro è davvero apprezzato.
Amministratore
Angelo Beltran
Bello! Mi piace la sua flessibilità. Saluti.
Rarst
Glad you found it useful.
Old snippet still works but it got kinda outdated and spread around a lot – it was getting hard to answer questions and correct outdated parts all the time.
Questo è leggermente più ingombrante, ma ha funzionalità molto estese per mostrare più dati e per diversi nomi utente contemporaneamente.
Ho anche intenzione di mantenerlo più correttamente, quindi feedback e suggerimenti sono benvenuti sulla sua pagina sul mio blog.