Vous affichez surement sur votre blog WordPress des icônes permettant d’avoir un lien vers votre compte Twitter mais aussi vers votre flux RSS.
Mais pourquoi ne pas récupérer automatiquement le nombre de followers de votre compte Twitter et le nombre d’abonnés à votre flux RSS Feedburner, tout ça sans extension (plug-in) ?
Nous allons voir dans cet article comment réaliser les différents fichiers.
Fichier PHP
Commencez par créer un fichier PHP vide dans votre éditeur de code favori. Une fois que vous avez ouvert votre fichier, vous pouvez copier-coller le code suivant (nous allons l’analyser :
<?php
$twitter = get_option("twitterfollowerscount");
if ($twitter[‘lastcheck’] < (mktime() – 3600)) {
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=VOTRE-NOM’);
if (preg_match(‘/followers_count>(.*)</’, $xml, $match) != 0) {
$twitter[‘count’] = $match[1];
}
$twitter[‘lastcheck’] = mktime();
update_option("twitterfollowerscount",$twitter);
}
echo $twitter[‘count’];
?>
[/sourcecode]
Les deux premières lignes permettent de définir le temps de rafraichissement du nombre de followers ((mktime() - 3600)
). Cela signifie que le compte Twitter sera appelé toutes les 3600 secondes ou toutes les heures au lieu d’être appelé à chaque chargement de page.
Les prochaines lignes indiquent votre flux Twitter :
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=VOTRE-NOM’);
[/sourcecode]
Où il y a marqué « VOTRE-NOM » vous devez mettre votre nom d’utilisateur Twitter : en ce qui me concerne « lryo17 ».
$xml = file_get_contents(‘http://twitter.com/users/show.xml?screen_name=lryo17’);
[/sourcecode]
Enregistrez votre fichier "twitter-followers-count.php"
à l’intérieur du répertoire de votre blog (par ex. wp-content/plugins/
).
Affichage du résultat
Maintenant que la partie de récupération de la donnée est effectuée, nous allons nous occuper de l’affichage de cette dernière. Pour cela, il suffit d’aller dans votre thème WordPress et d’y ajouter le code suivant à l’endroit où vous souhaitez que le bouton s’affiche :
<?php include("twitter-followers-count.php"); ?>
[/sourcecode]
Enfin la dernière étape est l’affichage du résultat. Voici un petit exemple d’une intégration :
Note : Venez me montrer vos résultats.
<li id="twitter"><a href="https://twitter.com/lryo17">Twitter <em>(<?php include("twitter-followers-count.php"); ?> Followers)</em> </a></li>
[/sourcecode]
Un petit peu de CSS pour l’apparence :
#footer-infos li {
background:url("images/footer_sep.png") repeat-x scroll left bottom transparent;
color:#333333;
line-height:1.4em;
margin:5px 0 0;
padding-bottom:5px;
text-shadow:1px 1px 0 #FFFFFF;
}
#footer-links ul li a {
background-position:left top;
background-repeat:no-repeat;
display:block;
padding-left:30px;
}
#footer-links ul li a:hover {
background-position:left -19px;
}
#twitter a {
background-image:url("images/ico-twitter.png");
}
[/sourcecode]
Et voilà c’est fini ! Rien de bien compliqué.
RSS
Pour afficher votre compteur RSS Feedburner comme du texte, vous devez de nouveau créer un fichier PHP et gérer l’affichage avec un d’HTML / CSS.
Fichier PHP
Copiez-collez le code suivant dans le fichier :
<?php
//Obtenir le flux feedburner
$url = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=VOTRE-NOM";
// Initialisation d’une session cURL
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//Exécute
$data = curl_exec($curl);
// Ferme la session cURL
curl_close($curl);
// Créer un objet XML à partir des données
$xml = new SimpleXMLElement($data);
$count = $xml->feed->entry[‘circulation’];
?>
[/sourcecode]
L’utilisation de la bibliothèque PHP cURL permet de se connecter et de communiquer avec différents types de serveurs, et ce, avec différents types de protocoles. Dans l’exemple ci-dessus, elle nous permet de nous connecter au flux Feedburner. Nous initialisons donc une session cURL avec l’URL du flux RSS (curl_init($url)
). L’option CURLOPT_RETURNTRANSFER
permet de retourner directement le transfert sous forme de chaîne de la valeur retournée par curl_exec()
au lieu de l’afficher. Enfin nous exécutons la session cURL (curl_exec($curl)
) et récupérons directement le résultat.
Ce dernier est un flux XML. Il est donc nécessaire de le transformer en élément XML (new SimpleXMLElement($data)
). Ensuite nous récupérons la valeur en parcourant le document XML ($xml->feed->entry['circulation']
).
De la même manière que le flux Twitter vous devez remplacer « VOTRE-NOM » par le nom de votre flux : en ce qui me concerne « design-folio ».
$xml = file_get_contents(‘https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=design-folio’);
[/sourcecode]
Enregistrez votre fichier "rss-count.php"
à l’intérieur du répertoire de votre blog (par ex. wp-content/plugins/
).
Note : Ce code marchera également pour votre site Web
Concernant l’affichage rien de plus que précédemment, libre à vous de l’afficher selon votre désir.
[samples id= »968″]
J’espère avoir été clair dans mes explications. N’hésitez pas à me montrer vos résultats.