Hallo, gibt es eine Möglichkeit, Benutzerfelder in Discourse auf WordPress-Benutzermetadaten abzubilden?
Ich habe ein Registrierungsformular in WordPress, das Metadaten speichert. Ich möchte, dass diese beim Erstellen des Benutzers nach Discourse kopiert werden, im Profil angezeigt werden und idealerweise einen vorgefüllten Composer für die Kategorie „Vorstellungen
Es wäre großartig, wenn @simon dies in den Plugin-Einstellungen umsetzen könnte, im Wesentlichen einfach eine Möglichkeit, benutzerdefinierte Feldnamen von WP auf Discourse abzubilden.
Ich würde keine direkten Änderungen am Code des Plugins vornehmen, es sei denn, Sie sind sich dessen absolut sicher. Das WP-Discourse-Plugin ist so konzipiert, dass es durch ein Plugin oder ein Theme über Action-Hooks erweitert werden kann. Dadurch können Sie das Plugin anpassen, ohne Änderungen vorzunehmen, die beim Update des Plugins überschrieben werden.
Um Daten zum SSO-Payload hinzuzufügen, der an Discourse gesendet wird, verwenden Sie den Filter wpdc_sso_params. Funktionen, die an diesen Filter gehakt werden, erhalten zwei Parameter: $params (ein Array mit SSO-Parametern, die an Discourse übergeben werden) und $user (das WordPress-Benutzerobjekt).
Ein Beispiel dafür, wie der Filter verwendet wird, finden Sie in diesem Beitrag:
Lassen Sie es mich wissen, falls Sie Schwierigkeiten haben, den Filter zu verwenden, um Ihre benutzerdefinierten Benutzerfeld-Daten hinzuzufügen.
Ich muss ein Discourse-Plugin schreiben, um die SSO-Parameter auszulesen und in den Benutzerfeldern zu speichern, oder ist diese Funktionalität bereits implementiert?
Sie können benutzerdefinierte Felder, die Sie in Discourse erstellt haben, über SSO aktualisieren. Dafür ist kein Plugin erforderlich. Dazu müssen Sie den Namen kennen, den Discourse in der Datenbank für das benutzerdefinierte Feld verwendet. Der einfachste Weg, dies zu tun, besteht darin, zur Seite „Admin / Anpassen / Benutzerfelder