Nous avons déjà écrit sur un code qui vous permet d’afficher le nombre d’abonnés Twitter qui a été contribué par Rare. Dans cet article, nous partagerons un code plus avancé et plus élégant qui vous permet d’afficher le nombre d’abonnés Twitter dans WordPress. Encore une fois, ce script a également été contribué par Rarst.
Caractéristiques
Cette fonction ne se limite pas au nombre d’abonnés. Il peut récupérer toute valeur non imbriquée renvoyée par Utilisateurs de Twitter/afficher la méthode API.
Il a deux niveaux de cache :
- les valeurs interrogées sont stockées sous forme de tableau dans la base de données, à l’aide des options WP, pendant $ intervalle 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 multiples demandes d’API.
Cela devrait être sûr à utiliser pour multiplier les valeurs et multiplier les utilisateurs en même temps, sans se soucier d’épuiser la limite de l’API.
Didacticiel
Ouvrez d’abord votre thème fonctions.php fichier 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]; }
Usage
Une fois que vous avez collé la fonction, vous pouvez maintenant utiliser le code dans n’importe quel fichier de modèle WordPress que vous aimez. 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 :
Themelocal compte 5846 abonnés après 1300 mises à jour.