it-swarm.com.de

Top 3 Posts der letzten Woche, sortiert nach Anzahl der Facebook- und Twitter-Shares

Ich bin daran interessiert, die Top-3-Storys der letzten Woche basierend auf der Gesamtzahl der Shares auf Facebook und Twitter anzuzeigen. Ich habe festgestellt, dass diese Freigabezahlen nützlicher sind als das Sortieren nach der Anzahl der Kommentare mit 'orderby' => 'comment_count'.

Meine Frage lautet also: Wie lassen sich Posts am besten nach der Anzahl der Facebook- oder Twitter-Shares sortieren? Ich bin etwas besorgt über die Anzahl der Anfragen an die Facebook- und Twitter-APIs, wenn ich die Anzahl der Freigaben für alle Posts in der letzten Woche überprüfen und dann von dort aus fortfahren möchte. Danke im Voraus!

2
epaps

Dies ist eine mehrteilige Frage, daher erhalten Sie eine mehrteilige Antwort.

  • Die Facebook-Zählung kann durch eine Anfrage an https://graph.facebook.com/URL erfolgen. Dies gibt ein json-Objekt zurück, das unter anderem die Anzahl der "Shares" enthält.

Funktionsbeispiel mit 4 Freigaben zum Zeitpunkt des Schreibens: https://graph.facebook.com/http://ottopress.com/2011/wp-quickie-adding-chrome-voice- Suche/

Eine Sache, die ich dort nicht dokumentiert habe, war, dass Sie ein JSON-Objekt ohne das JSONP-Callback-Zeug zurückerhalten, wenn Sie den Callback-Parameter leer lassen.

Arbeitsbeispiel, das 29 Twitter hat, zählt zum Zeitpunkt dieses Schreibens: http://urls.api.Twitter.com/1/urls/count.json?callback=&url=http://ottopress .com/2011/WP-Quickie-Hinzufügen-Chrom-Sprachsuche/

  • Nachdem Sie diese URLs haben, müssen Sie einige Funktionen schreiben, um sie regelmäßig für jeden Ihrer Posts abzurufen (vermutlich in der letzten Woche) und diese Daten dann in einem Postmetafeld zu speichern. Sie können einen wp-cron-Job oder Transienten für deren Ablaufzeiten verwenden. In jedem Fall.

Sobald Sie über die Daten verfügen und diese für jeden fraglichen Beitrag in einem Post-Meta gespeichert haben, müssen Sie bei der Auswahl basierend auf diesen Daten den meta_key in der Post-Abfrage zusammen mit einem orderby = meta_value_num-Parameter verwenden. Auf diese Weise können Sie Posts auswählen und nach dem Wert ordnen, den Sie im Postmeta gespeichert haben.

4
Otto

Meinen Sie Kalenderwoche oder fortlaufende Woche (vorherige sieben Tage)? Über wie viele Posts reden wir?

Ich würde so etwas versuchen:

  1. Erstellen Sie eine wp-cron Aufgabe.
  2. Wählen Sie in cron Beiträge aus, die für die Anzeige des Zeitrahmens qualifiziert sind und fehlende/veraltete Statistiken aufweisen.
  3. Fragen Sie APIs ab und speichern Sie Statistiken und den Zeitpunkt der Überprüfung (um zu überprüfen, ob die Statistiken im vorherigen Schritt veraltet sind) in benutzerdefinierten Metafeldern.
  4. On-Front-End-Abfrage für das benutzerdefinierte Feld "Gesucht" und "Sortieren nach Statistik".

Dies ist nur eine von vielen Möglichkeiten. Es hängt stark davon ab, wie wahrscheinlich es ist, dass Sie die API überstrapazieren. Je schneller die verfügbaren Anforderungen ausgehen, desto mehr Logik und Zwischenspeicherung müssen berücksichtigt und implementiert werden.

0
Rarst