Sur une idée original de Yoann Marie, j’ai développé un plugin WordPress qui permet de trier ces articles en fonction de leur popularité sur Facebook.
En faites, ce plugin contient plusieurs choses:
Bien évidemment, tout est paramétrable. Que ce soit le widget ou le style du bouton « j’aime ».
Revenons plus précisèment sur le fonctionnement du plugin.
A l’activation, le plugin va aller récupérer via l’API FQL de Facebook le nombre total de « like » et ainsi créer un post_meta « socialpost_likecount » pour chaque articles.
FQL permet de créer des requêtes SQL dans les tables de Facebook, voici un exemple de requête:
http://api.facebook.com/method/fql.query?query=select%20%20like_count,%20total_count,%20share_count,%20click_count%20from%20link_stat%20where%20url=%22http://www.remiheens.fr%22
Cette requête FQL va donc nous retourner un fichier xml avec les différentes informations demander dans le « select »
<fql_query_response list="true"> <link_stat> <like_count>2</like_count> <total_count>3</total_count> <share_count>1</share_count> <click_count>0</click_count> </link_stat> </fql_query_response>
Ensuite lors de l’utilisation normal, le plugin va afficher le bouton « j’aime » dans une div que vous aurez décider (Via une option du plugin).
Il existe sur ce bouton, deux fonctions de callback, une pour le « like » et une autre pour le « unlike ». C’est deux fonctions vont faire un appel ajax vers le plugin qui lui se chargera d’incrémenter ou de décrémenter la valeur du post_meta « socialposts_likecount ».
Concernant, les différentes options du plugin, vous pourrez modifier entièrement le style du widget.
Je m’explique, vous avez la possibilité de spécifier:
Ensuite, vous avez la possibilité de modifier le bouton « j’aime », voici une liste des différentes options:
Je vais certainement rajouter twitter dans le lot afin de croiser les résultats entre facebook et twitter et ainsi avoir des résultats plus représentatif de la popularité de l’article.
Voici le lien pour télécharger le plugin: WP-SocialPosts
Si vous avez des retours je suis tout à fait preneur, j’essaierai d’y répondre le plus rapidement possible.