Ich frage mich, wie / ob ich auf mehr als die neuesten X-Beiträge zugreifen kann, die in den WordPress-Einstellungen definiert sind. Ich habe Plugins gesehen, die alle Blog-Inhalte über RSS migrieren, und habe nicht nach ihren Methoden gesucht.
Grundsätzlich verwalte ich ein paar hundert WordPress-Blogs und baue einen Newsletter-Generator für meine Kunden. Sie möchten in der Lage sein, einige Beiträge auszuwählen und die Auszüge im Newsletter-Text erscheinen zu lassen. Die Websites sind auf mehrere Server verteilt, und der Newsletter-Generator basiert auf unserem CRM, sodass direkte Datenbankabfragen schwierig sind. RSS wäre am saubersten, aber ich kann anscheinend nicht herausfinden, wie auf mehr als 10 gleichzeitig zugegriffen werden kann (wenn 10 im Administrator festgelegt ist).
Irgendwelche Ideen?
Antworten:
Codex enthält ein Beispiel-Snippet zur Verwendung des
post_limits
Filters zum Überschreiben des in admin für den Feed festgelegten Betrags.http://codex.wordpress.org/Function_Reference/query_posts#Usage_Tips
quelle
Eine Möglichkeit, Ihre Beiträge zu erhalten, besteht darin, die verschiedenen Seiten des RSS-Feeds in Ihrem Newsletter-Generator aufzurufen. Es ist ein sicherer Ansatz, bei dem Ihre verschiedenen Wordpress-Installationen nicht aktualisiert werden müssen:
yourwebsite.com/feed -> erhalte die letzten 10 Beiträge
yourwebsite.com/feed/ ? paged = 2 -> erhalte die nächsten 10 Beiträge
Und so weiter.
quelle
Leider ist das, was Sie versuchen, in den meisten Gemeinden allgemein verpönt. Ich höre Sie fragen:
Dies ist eine übliche Vorgehensweise, um Inhalte aus Blogs zu entfernen und ohne Erlaubnis des ursprünglichen Autors erneut zu veröffentlichen. Deshalb sage ich, dass es allgemein verpönt ist. Die meisten Blog-Autoren investieren viel Zeit und Energie in die Entwicklung großartiger Inhalte. Daher ist es ... nun ja ... einfach, es Dritten zu erleichtern, ihre harte Arbeit zu nutzen, um ihrer eigenen Website SEO-Guthaben hinzuzufügen.
Trotzdem gehe ich im Moment davon aus, dass Sie berechtigte Gründe haben, Inhalte von über 700 Websites zu entfernen. In diesem Fall würde ich eine separate, programmatische Methode empfehlen - nicht RSS. Wenn Sie über legitime Anmeldeinformationen für alle diese Websites verfügen (dh es handelt sich um Ihre Websites und nicht um die anderer Personen), können Sie die in WordPress integrierten XML-RPC-Funktionen verwenden, um den Inhalt abzurufen.
Verwenden Sie die integrierte XML-RPC-Bibliothek, um eine Anforderung zur
metaWeblog.getRecentPosts
Angabe der ID des Blogs (normalerweise 0 für einzelne Websites, kann jedoch bei mehreren Websites unterschiedlich sein), Ihres WordPress-Benutzernamens, Ihres WordPress-Kennworts und der Anzahl der Beiträge zu übergeben zu holen (setzen Sie dies auf -1, um sie alle zu empfangen).Die andere Site antwortet mit einer (ziemlich großen) XML-Datei, die den Inhalt enthält, den Sie mit dem gewünschten Inhalt ausführen können. Dies kann alles hinter den Kulissen geschehen, und die
metaWeblog.getRecentPosts
Anfrage enthält viel mehr Informationen als ein RSS-Feed (einschließlich benutzerdefinierter Felder, die für Sie möglicherweise wichtig sind).quelle
Wenn Speicherplatz zur Verfügung steht, hat das Übergeben von -1 als Anzahl der Beiträge den gleichen Effekt. Ich bin mir jedoch nicht ganz sicher, wie es in eine URL geworfen wird.
Abgesehen davon, wenn Sie wirklich mehr als 700 Websites haben möchten, sollten Sie einen Cron in Betracht ziehen, der SVN-Updates oder Git täglich aus einem stabilen Zweig oder aus einem privaten Repository abruft ... Kombiniert mit einem täglichen http-Aufruf an wp- admin / upgrade.php. Dies erspart Ihnen viele Probleme beim Aktualisieren oder Optimieren Ihrer Websites - da dies automatisch erledigt wird.
quelle
Möglicherweise möchten Sie einen RSS-Aggregator wie FeedWordpress verwenden
quelle
Wenn Sie zu Einstellungen> Lesen> gehen und den Wert in "Syndication-Feeds zeigen die neuesten an" in eine für Sie passende Zahl ändern, wird die Anzahl der von Ihnen eingegebenen Feeds angezeigt.
quelle
Obwohl nicht "alle Beiträge", würde ich argumentieren, dass ein
limit
Parameter viel nützlicher ist.Ich würde empfehlen, die Option "posts_per_rss" direkt als solche zu filtern:
Auf den Feed kann dann wie folgt zugegriffen werden: http://example.org/category/acme/feed/?limit=999
quelle