ich benötige Rat in folgender Angelegenheit: Sobald sich ein Kunde auf unserer WordPress-Website registriert, wird automatisch ein Konto in unserer Discourse-Instanz erstellt. Wir haben eine benutzerdefinierte Funktion entwickelt, die es unseren Kunden ermöglicht, einen Beitrag zu „beobachten“; das bedeutet, dass sie auf einen Button in unserem WordPress-Beitrag klicken und automatisch zum verknüpften Discourse-Thema abonniert/beobachtet werden.
Diese Funktion funktioniert gut, wenn der Kunde sich einmal auf der Discourse-Instanz angemeldet hat; aber wenn er das Thema auf Discourse „beobachtet“, sich aber nicht bei Discourse angemeldet hat, werden dem Benutzerkonto keine E-Mails zum beobachteten Thema gesendet.
Hat jemand eine Idee, wie dieses Problem behoben werden kann? =)
Die schnelle Antwort ist, den Besuch von Discourse einmal zu einem Teil Ihres Kunden-Onboardings zu machen. Vielleicht gibt es einige Informationen für neue Kunden, die Sie auf Ihrem Discourse platzieren und auf die sie bei der Anmeldung auf der WordPress-Seite weitergeleitet werden können?
Ich gehe davon aus, dass Sie das WP Discourse-Plugin verwenden, um Benutzer auf Ihrer Discourse-Seite zu authentifizieren. Was Sie versuchen zu tun, sollte funktionieren. Da es für Benutzer funktioniert, die sich einmal bei Discourse angemeldet haben, könnte die Ursache des Problems darin liegen, dass die E-Mails der Benutzer vom WP Discourse-Plugin nicht als „verifiziert“ markiert werden, wenn sie sich auf Ihrer WordPress-Seite registrieren. Wenn dies der Fall ist, müssen sich die Benutzer mit einer Aktivierungs-E-Mail auseinandersetzen, die ihnen von Discourse gesendet wird, wenn sie sich zum ersten Mal über Ihre WordPress-Seite bei Discourse anmelden. Discourse aktiviert den Benutzer erst, wenn er auf den Link in dieser Aktivierungs-E-Mail geklickt hat.
Um dies zu bestätigen, schauen Sie sich den Abschnitt „DiscourseConnect Single Sign On“ der Discourse-Benutzerseite für einen Benutzer an, der kürzlich ein Konto erstellt hat. Klicken Sie auf die Schaltfläche „Anzeigen“ für das Feld „Letzte Nutzlast“ und prüfen Sie, ob der Parameter require_activation auf true gesetzt ist.
Nur für den Fall, dass Sie noch etwas anderes überprüfen möchten: Stellen Sie sicher, dass Discourse-Benutzer tatsächlich erstellt werden, wenn sie sich zum ersten Mal auf Ihrer WordPress-Website registrieren. Der wahrscheinlichste Weg, dies zu tun, wäre, die Option „Discourse-Benutzer bei der Anmeldung erstellen oder synchronisieren“ von WP Discourse zu aktivieren:
Können Sie überprüfen, ob diese Option aktiviert ist und ob Benutzer erfolgreich in Discourse erstellt werden, wenn sie sich auf Ihrer WordPress-Website registrieren?
Ich kann dies weiter untersuchen, wenn dies das Problem nicht löst. Leider funktioniert die Verbindung zwischen meiner lokalen Discourse- und WordPress-Site derzeit nicht. Jede Antwort, die die WordPress-Site von Discourse erhält, gibt den Fehler zurück: cURL error 61: Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings. Ich bin ziemlich sicher, dass dies nur mit der Konfiguration meines lokalen Servers zusammenhängt. Ich wollte das schon seit einiger Zeit in Ordnung bringen. Ich werde mich später am Tag darum kümmern.
Bearbeiten: Ich habe eine vorübergehende Lösung gefunden, um meine lokalen WordPress- und Discourse-Sites zu verbinden. Mit der aktivierten Option „Discourse-Benutzer bei der Anmeldung erstellen oder synchronisieren“ von WP Discourse kann ich jetzt einen Benutzer auf meiner WP-Site registrieren, ein Discourse-Konto automatisch für ihn erstellen lassen und den Benutzer so einstellen, dass er per API E-Mail-Benachrichtigungen für ein Thema erhält. Ich bin mir nicht sicher, was das Problem auf Ihrer Website verursachen könnte. Als Referenz finden Sie hier ein Beispiel für einen API-Aufruf, den ich mache. Der Api-Username in der Anfrage ist auf den Discourse-Benutzernamen des Benutzers gesetzt, der Benachrichtigungen erhalten möchte: