Aber jetzt erscheinen die alten Forenbeiträge nicht mehr als Kommentare zu den Blogbeiträgen. Der obige Blogbeitrag ist ein Beispiel.
Ich vermute, dass eine Zuordnung erforderlich ist.
Wie kann ich das integrieren?
So sieht mein Log aus:
Dieser Fehler bedeutet, dass der Wert der Option Webhook Secret Key in WP-Discourse nicht mit dem Passwort übereinstimmt, das in Ihrem Discourse-Webhook definiert ist. Können Sie das überprüfen?
@simon wird mich korrigieren, wenn ich falsch liege, aber ja, ein WP-Post muss mit einem Discourse-Topic synchronisiert werden. Für bestehende Topics sollten Sie die Option haben, sich mit einem bestehenden Discourse-Topic zu verknüpfen:
@Jane_Jojo, versuchen Sie, ein vorhandenes Discourse-Thema mit seinem entsprechenden WordPress-Beitrag zu verknüpfen, indem Sie die von @Arkshine gezeigte Methode verwenden. Beachten Sie, dass die Benutzeroberfläche leicht unterschiedlich ist, je nachdem, ob Sie den klassischen WordPress-Editor oder den neuen Block-Editor verwenden.
Wenn die Verknüpfung eines Discourse-Themas mit einem WordPress-Beitrag funktioniert, besteht der nächste Schritt darin, herauszufinden, wie Sie alle Ihre vorhandenen Themen und Beiträge verknüpfen können. Wie viele alte Beiträge haben Sie? Wenn es zu viele Beiträge sind, um sie manuell mit Discourse zu verknüpfen, gibt es möglicherweise eine Möglichkeit, den Prozess zu automatisieren.
Die Fehlermeldung, die Sie sehen, wird generiert, wenn Sie den Webhook “pingen”. Auf der WordPress-Seite erwartet der Code, dass ein post-Objekt im Webhook vorhanden ist, der von Discourse gesendet wird. Der Beitrag befindet sich nicht in der Nutzlast, wenn Sie nur auf die Schaltfläche “Ping” klicken. Versuchen Sie, einen Kommentar zu einem Discourse-Thema zu hinterlassen, das mit Discourse verknüpft ist, und prüfen Sie, ob dies immer noch einen Fehler verursacht.
Um Discourse-Kommentare auf Ihrer WordPress-Website anzuzeigen:
Stellen Sie sicher, dass Kommentare in WordPress für die Beiträge aktiviert sind, die Sie auf Discourse veröffentlichen.
Stellen Sie sicher, dass die Option “Discourse-Kommentare aktivieren” aktiviert ist:
Wenn Sie Kommentare auf Ihrer WordPress-Website bisher nicht aktiviert hatten, möchten Sie sie möglicherweise jetzt nicht für Beiträge aktivieren, die noch nicht mit Discourse verbunden sind. Um zu vermeiden, dass das WordPress-Kommentarformular für diese Beiträge angezeigt wird, können Sie Kommentare Website-weit aktivieren und dann die Einstellung “WordPress-Kommentarvorlage entfernen” auf der Seite “WP Discourse Commenting Options” auswählen:
Stellen Sie sicher, dass die Kommentare für einen Beitrag, den Sie mit Discourse verknüpft haben, aktiviert sind. Manchmal wird die Option „Diskussion“ auf der Bearbeitungsseite nicht angezeigt. Möglicherweise müssen Sie sie aus dem Menü „Bildschirmoptionen“ auswählen, um sie zu sehen:
Hmm, ich sehe auf der Seite nichts, was darauf hindeutet, dass die Kommentarvorlage geladen wird. Der Verweis auf discourse-embed-js in Ihrem Screenshot stammt nicht vom WP Discourse-Plugin. Ich glaube, er hängt mit dem Skript zusammen, das vom wp-discourse-embed-Plugin geladen wurde. Es verursacht tatsächlich einen Fehler auf Ihrer Website:
Failed to load resource: the server responded with a status of 404 () discourse-embed.js
Es gibt auch ein <div id="discourse-comments"></div> auf der Seite, das vom wp-discourse-embed-Plugin stammt, nicht vom WP Discourse-Plugin.
Ich würde die Einstellung “Load Comments With Ajax” von WP Discourse nicht aktivieren, bis Sie bestätigt haben, dass es ein Problem mit zwischengespeicherten Kommentaren auf der Website gibt. Selbst wenn dies der Fall wäre, sollte es in der Lage sein, die Kommentarvorlage anzuzeigen.
Sind Plugins auf Ihrer Website installiert, die sich auf Kommentare beziehen? Ich frage mich, ob ein Plugin oder das Theme der Website verhindert, dass die WordPress-Kommentarvorlage geladen wird. Das WP Discourse-Plugin ist darauf angewiesen, dass diese Vorlage geladen wird. Es gibt ein paar Workarounds dafür, aber sie sind alle ziemlich technisch.
Ich bin sicher, dass wir die Dinge in Ordnung bringen können
Ich habe den Verlauf meines Theme-Codes durchgesehen und vor einiger Zeit festgestellt, dass ich den gesamten WP-Kommentarcode durch Discourse-Kommentare ersetzt hatte.
Ich vermute, dass der Legacy-Code benötigt wird, richtig?
Ich erinnere mich nur vage, aber ich glaube nicht, dass die bearbeitete Datei comments.php die Ursache des Problems ist. Was passieren sollte, ist, dass anstelle der Datei comments.php Ihres Themes der WP Discourse-Plugin seinen eigenen Kommentarbereich laden sollte, wenn diese Funktion von Ihrem Theme aufgerufen wird: comments_template().
Schauen Sie sich die Datei single.php Ihres Themes an oder welche Datei auch immer zur Anzeige eines Beitrags verwendet wird, den Sie mit Discourse verknüpft haben. Prüfen Sie, ob die Datei einen Aufruf zu comments_template() enthält. Er wird etwa so aussehen:
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
Es ist der Aufruf zu coments_template(), der das Laden der WP Discourse-Kommentare auslösen sollte.
Ich könnte mich da irren. Ich kann es mir genauer ansehen, wenn das nicht hilft, die Dinge zu klären.