Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
Coupe WPB
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Comment afficher le nombre d’abonnés Twitter et plus dans WordPress

Nous avons déjà écrit sur un code qui vous permet d’afficher le nombre de followers sur Twitter qui a été contribué par Rarst. Dans cet article, nous allons partager un code plus avancé et plus élégant qui vous permet d’afficher le nombre de followers sur Twitter dans WordPress. Une fois de plus, ce script a été fourni par Rarst.

Fonctionnalités

Cette fonction n’est pas limitée au nombre d’abonnés. Elle peut récupérer n’importe quelle valeur non imbriquée renvoyée par la méthode de l’API Twitter users/show.

Elle dispose de deux niveaux de mise en cache :

  • les valeurs de la requête sont stockées sous forme de tableau dans la base de données, à l’aide des facultatifs de WP, pendant $intervalle secondes ;
  • Les réponses de l’API sont stockées en mémoire, ce qui vous permet d’effectuer des requêtes sur un nombre illimité de champs, sans multiplier les demandes d’API.

Cela devrait être sûr pour multiplier les valeurs et multiplier les utilisateurs/utilisatrices 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 que vous souhaitez. Il suffit de coller 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 abonnés après 1300 mises à jour.

Source : Rarst

Divulgation : Notre contenu est soutenu par les lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi cela compte et comment vous pouvez nous soutenir. Voici notre processus éditorial.

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

L'ultime WordPress Toolkit

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tous les professionnels devraient avoir !

Reader Interactions

10 commentairesLaisser une réponse

  1. Aleks

    Someone explain where I put in my own twitter username please? Cause I really cant see where… And I cant get it to work either… No matter what.. This just wont give me username, not even leaving it completly basic as it stands right now, I get no response on username what so ever… it just displays: « has followers after updates »…
     
    That’s it.. nothing else…

    • wpbeginner

      In the usage section, replace « wpbeginner » with your twitter name.

  2. Downhill_MC

    this is a great code. i wonder if there is a possibility to create a function for embedding in text (something like ). downhill_mc

  3. Sandeep

    will you please tell me how should i add these codes in my custom twitter image as you shows us in your example.

    • Editorial Staff

      You would have to use CSS.. unfortunately we are not writing tutorials for those on this site.

      Administrateur

  4. Ozh

    (You should display syntax hilited and cleanly formatted code, really)

    • Editorial Staff

      Thanks for the correction. We really appreciate you providing the awesome snippets for everyone to use. Your hard work is really appreciated.

      Administrateur

  5. 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.

    This one is slightly more bulky, but it has much extended functionality for showing more data and for different usernames at the same time.

    I also intend to maintain it more properly so feedback and suggestions are welcome on its page at my blog.

Laisser une réponse

Merci d'avoir choisi de laisser un commentaire. Veuillez garder à l'esprit que tous les commentaires sont modérés selon notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.