web-dev-qa-db-fra.com

Top 3 des messages de la semaine dernière commandés par Facebook et Twitter

Je suis intéressé par l'affichage des 3 meilleurs articles de la semaine dernière en fonction du nombre total d'actions sur Facebook et Twitter. J'ai constaté que ces comptes de partage sont des indications plus utiles de ce qui est populaire par rapport au tri en fonction du nombre de commentaires utilisant 'orderby' => 'comment_count'.

Ma question est donc la suivante: quel est le meilleur moyen de trier les messages en fonction du nombre de partages Facebook ou Twitter? Je suis un peu préoccupé par le nombre de demandes adressées aux API Facebook et Twitter si je vérifiais le nombre d'actions pour toutes les publications de la semaine écoulée, puis de là. Merci d'avance!

2
epaps

Comme il s’agit d’une question à plusieurs parties, vous obtenez une réponse en plusieurs parties.

  • Il est possible d'obtenir le décompte Facebook en adressant une demande à https://graph.facebook.com/URL . Cela renverra un objet JSON contenant, entre autres, le nombre "d'actions".

Exemple de travail qui a 4 partages à ce jour: https://graph.facebook.com/http://ottopress.com/2011/wp-quickie-adding-chrome-voice- rechercher/

Une chose que je n'ai pas documentée là-dedans, c'est que si vous laissez le paramètre callback vide, vous récupérez un objet json sans les éléments de callback JSONP.

Exemple de travail qui compte 29 comptes Twitter au moment de la rédaction de cet article: http://urls.api.Twitter.com/1/urls/count.json?callback=&url=http://ottopress .com/2011/wp-quickie-ajouter-chrome-voice-search/

  • Maintenant que vous avez ces URL, vous devez écrire certaines fonctions pour les obtenir périodiquement pour chacune de vos publications (vraisemblablement la semaine dernière), puis pour stocker ces données dans un champ postmeta. Vous pouvez utiliser un travail wp-cron ou des transitoires pour leurs délais d'expiration. D'une manière ou d'une autre.

Une fois que vous avez les données et que vous les avez stockées dans un postmeta pour chaque article en question, il vous suffit ensuite de sélectionner méta_key dans la requête, avec le paramètre orderby = meta_value_num. Cela vous permettra de sélectionner les messages et de les classer en fonction de la valeur que vous stockez dans le postmeta.

4
Otto

Voulez-vous dire semaine calendaire ou semaine glissante (sept jours précédents)? De combien de posts parle-t-on?

Je voudrais essayer quelque chose comme ça:

  1. Créer une tâche wp-cron.
  2. Dans cron, sélectionnez les publications qualifiées pour l'affichage de la période et ayant des statistiques manquantes/obsolètes.
  3. Interroger les API et enregistrer les statistiques et l'heure du contrôle (pour vérifier si les statistiques sont obsolètes à l'étape précédente) dans des champs méta personnalisés.
  4. Sur la requête front-end pour le champ personnalisé voulu et trier par statistiques.

C’est l’une des nombreuses façons de le faire. Cela dépend en grande partie de la probabilité de stresser les API: plus vous réduisez rapidement les demandes disponibles, plus vous devez prendre en compte la logique et la mise en cache.

0
Rarst