XMLRPC – getPosts – Wie von der Gegenstelle anzurufen?

Für diese Frage habe ich zwei WordPress-Websites. Nennen wir sie “Portfolio” und “News”. Portfolio ist eine Website, die nur “Seiten” enthält, während “News” eine Website ist, die ausschließlich “posten”. Auf der Portfolio-Website muss ich die besten X-Posts von der News-Website anzeigen. Beide Websites befinden sich auf demselben Server mit verschiedenen MySql-databaseen.

Ich habe versucht, das JetPack-Widget “WordPress-Posts anzeigen” zu verwenden, aber die Art, wie XML-RPC mit diesem Widget arbeitet, ist meiner Umgebung nicht förderlich. Also, ich möchte mein eigenes “Widget” schreiben, um diese Arbeit zu machen.

Denken Sie daran, dass ich noch nie ein Widget für WordPress programmiert habe und bis jetzt habe ich ein grundlegendes Verständnis von PHP. Das heißt, mehr als Theorie könnte ich einige Beispiele verwenden.

Ich stieß auf http://codex.wordpress.org/XML-RPC_WordPress_API/Posts#wp.getPosts und sieht aus, als ob ich etwas verwenden könnte. Ich fand jedoch keine Beispiele dafür, wie ich diese API verwenden könnte, um Inhalte aus dem Blog zu ziehen.

Vielen Dank.

Solutions Collecting From Web of "XMLRPC – getPosts – Wie von der Gegenstelle anzurufen?"

Ich habe heute den größten Teil meines Urlaubs damit verbracht, das Widget “JetPack Display WordPress Post” neu zu verkabeln, damit es jetzt für mich funktioniert und mein Problem getriggers wird. Dokumentieren Sie ausführlich, damit es anderen mit ähnlichen Problemen helfen kann.

(Ich habe das Update auf meinem Blog veröffentlicht: [DEEP LINK WARNING!] http://blog.sujay.sarma.in/wp-content/uploads/wordpress-post-widget.zip )

Grundsätzlich habe ich festgestellt, dass das Widget nicht lange genug während des Aufrufs wp_remote_get wartet. Nach 5 Sekunden ist die Zeit abgelaufen. Ich habe diesem Anruf eine Zeitüberschreitung von 30 Sekunden hinzugefügt. Dies triggerse das Hauptproblem, die Posts nicht zu bekommen. [ BEHOBEN, warum ich für diesen Zweck XML-RPC-Aufrufe verwenden wollte]

Sobald dies geschehen war, entdeckte ich einen neuen “Fehler”, bei dem der Fehler zurückgegeben wurde, wenn vorübergehende Fehler beim API-Aufruf ebenfalls zwischengespeichert wurden. Bereinigt diese auch, um sicherzustellen, dass nur erfolgreiche Post-Pulls zwischengespeichert werden. Optimierte einen Schritt weiter, indem Sie den geparsten JSON anstelle der ursprünglichen Zeichenfolge zwischenspeichern. Schließlich habe ich den Aufruf zum Abrufen der ID der Site (verschwendeter Roundtrip, an beiden Enden gespeicherte Bandbreite) abgebrochen, da der API-Aufruf genauso gut mit dem DNS-Namen statt mit der Site-ID funktioniert.

Die Rest-API, die auf wordpress.com gehostet wird, scheint ein Performance-Problem zu haben, da es in etwa 50% der Zeit zeitweise ausfällt. Diese Fehler haben die Fehlermeldung, dass der DNS-Name Ihrer Site nicht aufgetriggers werden konnte. Das hat WordPress Support (“Glückstechniker”) dazu gebracht, einen ganzen Tag damit zu verbringen, mich davon zu überzeugen, dass mein DNS falsch aufgebaut ist.

(url: https://public-api.wordpress.com/rest/v1/sites/%5Bsite%5D )