Ja, du bist auf dem richtigen Weg. Grob gesagt musst du Folgendes tun:
Die Themendetails aus Discourse abrufen (sofern du diese noch nicht hast)
Die relevanten Details in die richtigen Post-Meta-Felder speichern
Genau diese Post-Meta-Felder, die du in der von dir verlinkten Funktion siehst, stellen die Verbindung her.
Ich habe dies auch auf meine WP Discourse-Entwicklungs-Roadmap gesetzt: Um dies zu vereinfachen, also mit einer einzigen öffentlichen Hilfsfunktion dieses Ziel zu erreichen. Ich habe dies für Juni eingeplant.
Schau dir außerdem die vorhandenen Hilfsfunktionen in lib/plugin_utilities.php und lib/utilities.php an. Ebenso die entsprechende link_topic-Methode in admin/discourse-sidebar/discourse-sidebar.php.
@Angus, danke für deine Antwort. Ich stehe noch ganz am Anfang meiner PHP-Reise, also wenn du vor hast, das anzupacken, warte ich einfach ab.
Außerdem trete ich bei der WP-Plugin-Integration immer wieder auf denselben Fehler. Ich weiß nicht, ob du dafür einen separaten Beitrag oder ein GitHub-Issue bevorzugst, aber hier ist, was passiert:
Wenn ich einen WP-Beitrag öffne, der mit einem Forumsthema verknüpft ist, wird der Link im Discourse-Block nicht angezeigt. Es sieht so aus, als gäbe es keinen Link.
Bedingungen:
Dies tritt sowohl auf, wenn der Link durch das Veröffentlichen eines „Neuen Themas“ erstellt wurde, als auch bei der Option „Link zu bestehendem Thema".
Meine WP-Beiträge sind benutzerdefinierte Post-Typen (CPTs).
Meine Kommentarfunktion ist auf „Link zu den Kommentaren anzeigen“ eingestellt.
Ansonsten ist meine Installation nichts Besonderes.
Bestätigung:
Ich kann bestätigen, dass die Links, die nicht im Discourse-Block angezeigt werden, tatsächlich existieren: Ich sehe sie in meinen Admin-Spalten, und ich kann auf den Frontend-Link klicken, um zum Forum-Beitrag zu gelangen.
Ich helfe gerne mit weiteren Informationen oder Tests.
Ja. Ich hätte erwähnen sollen, dass am Anfang alles funktioniert: Ich kann in ein neues Thema veröffentlichen oder auf ein bestehendes Thema verlinken, und die Links funktionieren in beide Richtungen – außer
Wenn ich später einen Beitrag in WordPress neu bearbeite, sieht der Discourse-Block so aus, als wäre nichts verlinkt, obwohl mein WordPress-Frontend-Link immer noch zum richtigen Foren-Thema führt und der Link im Foren-Thema immer noch zum richtigen WordPress-Beitrag.
Das Problem besteht also nur im WordPress-Discourse-Block beim erneuten Bearbeiten eines Beitrags.
Sehen Sie in der Konsole Ihres Browser-Entwicklertools Fehler?
Was passiert, wenn Sie die Seite während der Bearbeitung vollständig neu laden?
Es scheint ein JavaScript-Problem zu sein. Dies kann verschiedene Ursachen haben, darunter andere Plugins oder eine Browsererweiterung. Wenn möglich, müssen wir das Problem etwas genauer eingrenzen.
Ich weiß nicht genau warum, aber meine Links werden nun im Discourse-Block angezeigt. Falls ich ein Muster für dieses Problem finde, melde ich mich wieder. Danke.