Cet article a été mis à jour il y a plus de 2 ans. Le contenu qu'il propose n'est peut-être plus à jour.

Solution mise à jour pour Feedburner ici : »»» Feedburner pour WordPress

Voilà deux petits bouts de code que j’aime beaucoup pour WordPress : récupérer automatiquement le nombre de followers de votre compte Twitter et le nombre d’abonnés à votre flux RSS Feedburner, sans aucun plugin.

 

Nombre de followers des comptes Twitter et Feedburner
Affichez le nombre de lecteur et followers de vos comptes Twitter et Feedburner

Et ça se passe directement dans votre fichier functions.php (pour changer)

WordPress : nombre de followers sur Twitter

Ouvrez le fichier functions.php de votre thème, puis collez le code suivant.

//Mes followers twitter
function string_getInsertedString($long_string,$short_string,$is_html=false){
  if($short_string>=strlen($long_string))return false;
  $insertion_length=strlen($long_string)-strlen($short_string);
  for($i=0;$i<strlen($short_string);++$i){
    if($long_string[$i]!=$short_string[$i])break;}
  $inserted_string=substr($long_string,$i,$insertion_length);
  if($is_html && $inserted_string[$insertion_length-1]=='<'){
    $inserted_string='<'.substr($inserted_string,0,$insertion_length-1);}
  return $inserted_string;}
function DOMElement_getOuterHTML($document,$element){
  $html=$document->saveHTML();
  $element->parentNode->removeChild($element);
  $html2=$document->saveHTML();
  return string_getInsertedString($html,$html2,true);}
function getFollowers($username){
  $x = file_get_contents("http://twitter.com/".$username);
  $doc = new DomDocument;
  @$doc->loadHTML($x);
  $ele = $doc->getElementById('follower_count');
  $innerHTML=preg_replace('/^<[^>]*>(.*)<[^>]*>$/',"\\1",DOMElement_getOuterHTML($doc,$ele));
  return $innerHTML;}

Le code va créer une fonction getFollowers, qui ira récupérer en temps réel le nombre d’abonnés à un compte. Ensuite, placez le code suivant pour faire apparaître le nombre de personnes qui vous suit sur Twitter (en remplaçant seomixfr par votre compte) :

<?php if (function_exists('getFollowers')) {
echo getFollowers("rochdaniel")." followers";
} ?>

WordPress : nombre de followers sur FeedBurner

ATTENTION : ceci est une ancienne version du script ! Utilisez le nouveau script pour récupérer le nombre de lecteurs de Feedburner (lien en haut de cet article).

Pour récupérer cette donnée, ouvrez là-aussi le fichier functions.php pour coller le code suivant.

//Mes followers sur Feedburner
function feedburner_stats($feed, $attribute) {
 if ( !$feed ) { echo('[No Feed]'); }
 if ( !$attribute ) { echo('[No Attribute]'); }
 $xmlobj = simplexml_load_file("http://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$feed);
 echo($xmlobj->feed->entry->attributes()->$attribute);}

Contrairement à Twitter, il faut réaliser une manipulation supplémentaire. Connectez-vous à votre compte Feedburner. Dans l’onglet Publicize, activez la fonction « Awareness API » ainsi que « Email Subscriptions » (même si vous n’avez pas utilité de cette dernière fonction).

 

Configuration de l'API Feedburner
Configuration de l

Ensuite, placez le code suivant là où vous souhaitez faire apparaître cette donnée dans votre petit WordPress (en remplaçant toujours seomixfr par votre compte) :

<?php if (function_exists('feedburner_stats')) {
feedburner_stats('seomixfr', 'circulation');
} ?>

Petit avantage, vous pouvez récupérer d’autres données en remplaçant le « circulation » :

  • date : la date de mise à jour du flux
  • hits : le nombre de hits sur votre flux (ce qui inclut robots et moteurs de recherche)
  • reach : le nombre d’actions des utilisateurs sur votre flux (vues et clics)

Avantages et inconvénients de la méthode

Il y a un avantage et deux inconvénients à la méthode donnée :

  • L’avantage est d’avoir en temps réel le nombre de followers sur Twitter et sur Feedburner, directement dans votre WordPress, et le tout sans plugin.
  • Le premier inconvénient est aussi cette notion de temps réel : chaque chargement de la page va en effet exécuter le javascript, ce qui peut réduire (faiblement) le temps de chargement de vos pages. Il aurait fallu stocker ces données dans la base de donnée WP (mais là, ça me dépasse un peu…).
  • Deuxième inconvénient, l’API de Feedburner est un peu capricieuse : elle indique parfois aucun followers, ou montre des variations énormes du jour au lendemain (+52, -120, +302, …).