Affichez le nombre de lecteur sur Twitter et feedburner sur WordPress
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.
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.
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) :
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.
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
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) :
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, ...).
On a plein d'articles à mixer !
Voici les thématiques abordées par Affichez le nombre de lecteur sur Twitter et feedburner sur WordPress:
- Feedburner -
- Flux RSS -
- Functions.php -
- Gérer une communauté -
- Twitter -
- WordPress sans plugin


Daniel Roch - Le 27 avril 2010, 16:12
Si vous avez une idée de la manière dont ces données pourrait être stockées en base de données, avec une tâche cron pour actualiser, je suis preneur.
Shiamr - Le 11 mai 2010, 22:47
Une remarque: j’utilise google reader comme agrégateur de flux, et il m’indique que 7 abonnés au flux rss, contrairement au nombre indiqué sur Seomix. Ce que m’indique Google reader, serait-ce uniquement le nombre d’abonnés utilisant Google reader?
Daniel Roch - Le 11 mai 2010, 22:53
Oui, c’est bel et bien le nombre de lecteurs via Google reader que tu vois apparaître.
Le nombre réel de lecteurs Feedburner englobe tout le reste. ;)
Daniel Roch - Le 09 juillet 2010, 09:40
La solution est désormais améliorée pour Feedburner avec un chiffre plus stable (et réaliste) et un système de cache : Nombre de lecteurs Feedburner
Bruno - Le 10 mars 2012, 10:34
Bonjour,
Merci comment faire pour récupérer le nombre de fans dynamiquement?
merci
Daniel Roch - Le 12 mars 2012, 10:15
Pour cela, rien de tel que de faire appel aux boutons par défaut de Twitter et de Facebook. Mais à chaque chargement d’un contenu, cela ralentira la page.