Ist es möglich, Threads für viele WordPress-Posts in großen Mengen zu erstellen? Vielleicht SQL?

Ich habe eine WordPress-Website mit etwa 1000 alten Beiträgen. Ich möchte für alle davon massenhaft Diskussionsfäden in Discourse erstellen. Es scheint, dass ich jeden Beitrag bearbeiten und speichern kann, wodurch ein neuer Diskussionsfaden erstellt wird, sofern die Einstellungen im Discourse-WP-Plugin korrekt sind.

Aber… ich möchte ungern 1000 Beiträge einzeln öffnen und speichern.

Ich kann problemlos die benötigten wp_post-IDs und -Titel aus der wp_post-Tabelle abrufen. Vielleicht weiß jemand, wie man eine SQL-Abfrage für Discourse erstellt, die mit den notwendigen Daten aus wp_posts neue Fäden anlegt?

3 „Gefällt mir“

Nutzen Sie das WP-Discourse-Plugin? Wenn ja, vermute ich, dass es besser wäre, dies in WordPress zu automatisieren.

(Ich weiß nicht genau, wie man das macht, was Sie fragen.)

1 „Gefällt mir“

Ja, ich verwende das Plugin, und es ist auf Automatisierung eingestellt. Damit ein Beitrag in Discourse jedoch einen Kommentarthread „automatisch

1 „Gefällt mir“

Das Problem ist, dass deine WordPress-Seite nicht über die erforderlichen Informationen verfügt, um die richtigen Links, die Anzahl der Kommentare usw. anzuzeigen, wenn du dies auf der Discourse-Seite machst. Ich habe auch keine Lösung dafür, wie man es auf einer der beiden Seiten umsetzen kann, aber ich denke, du solltest deine Bemühungen auf WordPress konzentrieren.

2 „Gefällt mir“

Wenn die Wordpress-Befehlszeilentools es dir ermöglichen, die Beiträge zu durchlaufen und so zu speichern, dass das Discourse-Plugin die Themen genau so erstellt, wie du es möchtest, dann wäre das mit Sicherheit mein Vorgehen. Es ist wahrscheinlich nicht sehr effizient, aber für eine einmalige Aufgabe ist der Overhead weniger zeitaufwändig als die Suche nach einer „besseren

3 „Gefällt mir“

Wie andere bereits erwähnt haben, ist der einfachste Weg dies derzeit über das WP Discourse-Plugin zu erledigen. Das direkte Aktualisieren der Datenbanken jeder Instanz wirft zwei potenzielle Probleme auf:

  1. Es erfordert, dass Sie alle Daten und Metadaten verstehen, die auf jeder Instanz gespeichert sind.
  2. Die Daten und Metadaten sind voneinander abhängig, d. h. nachdem ein Beitrag erfolgreich von WordPress nach Discourse veröffentlicht wurde, wird die ID des Beitrags in Discourse in einem Post-Meta-Feld in WordPress gespeichert.

Wenn Sie bereits mit beiden Punkten 1 und 2 vertraut wären, könnte das direkte Aktualisieren der Datenbanken eine gute Option sein. Da Sie jedoch nicht damit vertraut sind, ist dies keine gute Idee, es sei denn, Sie möchten Zeit damit verbringen, dies nur für diesen Zweck zu erlernen. In diesem Zusammenhang könnten Sie jemanden beauftragen, dies für Sie zu erledigen. Ich würde jedoch empfehlen, stattdessen einfach die Funktionalität des WP Discourse-Plugins zu nutzen.

Die Verwendung des WP Discourse-Plugins hat den zusätzlichen Vorteil, dass die Protokollierung für die Veröffentlichung mit WP Discourse bereits eingerichtet ist. Das bedeutet, dass Sie detaillierte, beitragspezifische Informationen erhalten, falls eine der Veröffentlichungen fehlschlägt.

Es stimmt, dass dies etwa 1000 POST-Anfragen an Ihr Discourse-System bedeutet, da das WP Discourse-Plugin nur jeweils ein Thema POST-anfordert. Da es sich jedoch um eine einmalige Migration handelt, können Sie dies bewältigen, indem Sie die Daten in Batches aufteilen und Pausen (d. h. Sleep) im Skript einfügen. Ich empfehle, nach den ersten paar Batches eine manuelle Überprüfung durchzuführen, um sicherzustellen, dass alles wie erwartet funktioniert.

In Bezug auf das Skript selbst würden Sie für jeden Beitrag die Methode WPDiscourse\DiscoursePublish publish_post_after_save verwenden, also in einer Schleife (mit entsprechender Batch-Verarbeitung und Sleep).

7 „Gefällt mir“

Vielen Dank an alle!

Ich wusste nicht, dass es auf beiden Seiten Datenbankänderungen gibt. Interessant. Ich bin sehr mit der WP-Datenbank vertraut. Vielleicht sogar zu sehr. Oft greife ich zuerst auf die Datenbank zu, obwohl ich wahrscheinlich andere Ansätze wählen sollte.

Ja, ich bin so ein datenbankbesessener Narr. Ich liebe Datenbankdesign und -erstellung. Aber… ich bin mit der Discourse-Datenbank überhaupt nicht vertraut (noch nicht). Also…

Ah ja… ordentliches Logging ist eine wunderbare Sache.

Ja, hervorragend. Ich werde dies als die richtige Antwort betrachten, da es genau das ist, was ich brauchte.

Allerdings…

[quote=“Simon_Manning, post:5, topic:201210”]
Wenn die Wordpress-Command-Line-Tools es dir ermöglichen, die Posts zu iterieren und so zu speichern, dass das Discourse-Plugin die Themen wie gewünscht erstellt, dann wäre das definitiv mein Weg. Es ist wahrscheinlich nicht sehr effizient, aber für eine einmalige Aufgabe kostet jeder Overhead weniger Zeit als der Versuch, eine „bessere

5 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.