Nous avons déjà écrit sur un code qui vous permet d'afficher le nombre total de followers Twitter, qui a été contribué par Rarst. Dans cet article, nous partagerons un code plus avancé et plus élégant qui vous permet d'afficher le nombre de followers Twitter dans WordPress. Encore une fois, ce script a également été contribué par Rarst.
Fonctionnalités
Cette fonction n'est pas limitée au nombre de followers. Elle peut récupérer n'importe quelle valeur non imbriquée retournée par la méthode API Twitter users/show.
Il dispose de deux niveaux de cache :
- les valeurs interrogées sont stockées sous forme de tableau dans la base de données, en utilisant les options WP, pendant $interval secondes ;
- les réponses de l'API sont stockées en mémoire afin que vous puissiez interroger n'importe quel nombre de champs, sans générer de requêtes API multiples.
Cela devrait être sûr à utiliser pour plusieurs valeurs et plusieurs utilisateurs en même temps, sans se soucier d'épuiser la limite de l'API.
Tutoriel
Ouvrez d'abord le fichier functions.php de votre thème et ajoutez le code suivant :
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];
}
Utilisation
Une fois que vous avez collé la fonction, vous pouvez maintenant utiliser le code dans n'importe quel fichier de modèle WordPress de votre choix. Collez simplement le code suivant :
echo rarst_twitter_user('wpbeginner', 'name').' has '.
rarst_twitter_user('wpbeginner', 'followers_count').' followers after '.
rarst_twitter_user('wpbeginner', 'statuses_count').' updates.';
Le code ci-dessus affichera quelque chose comme ceci :
WPBeginner a 5846 followers après 1300 mises à jour.
Source : Rarst

Aleks
Quelqu'un peut m'expliquer où je dois mettre mon nom d'utilisateur Twitter s'il vous plaît ? Parce que je ne vois vraiment pas où... Et je n'arrive pas à le faire fonctionner non plus... Peu importe... Ça ne me donne pas mon nom d'utilisateur, même en le laissant complètement basique tel qu'il est en ce moment, je n'obtiens aucune réponse concernant le nom d'utilisateur, quoi qu'il arrive... il affiche juste : « a des abonnés après les mises à jour »...
C'est tout... rien d'autre...
wpbeginner
Dans la section utilisation, remplacez « wpbeginner » par votre nom Twitter.
Downhill_MC
c'est un super code. je me demande s'il y a une possibilité de créer une fonction pour l'intégrer dans du texte (quelque chose comme ). downhill_mc
Sandeep
pourriez-vous s'il vous plaît me dire comment dois-je ajouter ces codes dans mon image Twitter personnalisée comme vous nous le montrez dans votre exemple.
Personnel éditorial
Vous devriez utiliser du CSS... malheureusement, nous n'écrivons pas de tutoriels à ce sujet sur ce site.
Admin
Ozh
(Vous devriez afficher le code mis en surbrillance syntaxique et proprement formaté, vraiment)
Rarst
Je viens de remarquer que vous avez perdu le + entre time() et 60
Personnel éditorial
Merci pour la correction. Nous apprécions vraiment que vous fournissiez ces excellents extraits pour que tout le monde puisse les utiliser. Votre travail acharné est vraiment apprécié.
Admin
Angelo Beltran
Sympa ! J'aime sa flexibilité. Santé.
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.
Celui-ci est légèrement plus encombrant, mais il a une fonctionnalité beaucoup plus étendue pour afficher plus de données et pour différents noms d'utilisateur en même temps.
J'ai aussi l'intention de le maintenir plus correctement, donc les commentaires et suggestions sont les bienvenus sur sa page sur mon blog.