Wie synchronisiere ich die Topic-Ansichtanzahl zurück zum Diskurs?

Hallo zusammen,

ich habe eine VUE SPA mit der Discourse API erstellt, die auf Wordpress verwendet werden soll, und ich habe mich gefragt, ob es eine Möglichkeit gibt, eine POST-Anfrage zu senden, um die Topic-Aufrufe auf Discourse zu aktualisieren, wenn ein Benutzer das Topic auf Wordpress öffnet?

2 „Gefällt mir“

Hallo Alex,

Ich bin neugierig, mehr darüber zu erfahren. Können Sie etwas teilen?

Das Anzeigen von Beiträgen, die vom WP Discourse-Plugin abgerufen werden, erzeugt keine neuen Ansichten in Discourse. Wenn Sie jedoch den Standard-show-Endpunkt im topics_controller verwenden und die unten hervorgehobene Prüfung durchführen, wird die „Ansicht“ verfolgt. Beachten Sie, dass die Verwendung eines API-Schlüssels bedeutet, dass es einen current_user gibt.

Hinweis

Eine Besonderheit, die Sie beim Lesen dieses Codes beachten sollten, ist, dass TopicView nicht die gesuchte Klasse ist (es ist ein Modell, das die Daten verarbeitet, die serialisiert werden, wenn ein Thema angezeigt wird). Das eigentliche Modell für die „Themenansicht“ ist TopicViewItem.

3 „Gefällt mir“

Hallo @angus,

Vielen Dank für Ihre Einblicke. Ich werde die Codebasis für Topic-Ansichten untersuchen.

Bezüglich der SPA-App:

Ursprünglich hatten wir ein Forum-Plugin auf WordPress, das seinen eigenen Post-Typ für Fragen und Antworten sowie Kategorien und Tags erstellte. Bei der Einrichtung des SSO mit dem WP Discourse-Plugin habe ich Webhooks auf Discourse aktiviert, um Topics mit diesem Post-Typ nach WordPress zu synchronisieren und das Embedding für Antworten zu verwenden.

Zu diesem Zeitpunkt war das Forum-Frontend langweilig, da jeder Frage-Eintrag, der auf seinen WP-Daten basierte, nur den Titel und den Autor anzeigen konnte, und ich wollte auch die Poster, Aufrufe, Likes und Antwortstatus anzeigen. Es ergab für mich keinen Sinn, dieses Plugin zu modifizieren.

Mit einer SPA wäre das Abrufen und Anzeigen von Daten viel schneller und flexibler gewesen. Es zeigt paginierte neueste Topics und eine Seitenleiste mit Top-Topics, einschließlich Filter-/Suchfunktion.

Ursprünglich wollte ich in der Topic-Detailansicht auch die Antworten/Kommentare anzeigen. Aus irgendeinem Grund zeigten die eingebetteten Antworten die Benutzernamen der Poster anstelle des vollständigen Namens.

Ich stieß auch auf Probleme mit Emojis und anderen Assets, die sich auf die Discourse-Site beziehen, daher bin ich auf Embeds zurückgefallen.

Ein weiteres Problem war SEO, das ich mit dem wp_head Hook in WordPress lösen konnte.

1 „Gefällt mir“