Discourse-Anmeldung auf WP-Seite einbetten und neuen Benutzer automatisch einer bestimmten Gruppe hinzufügen?

Ich möchte, dass sich eine bestimmte Gruppe von Personen für mein Discourse anmelden kann. Meine Präferenzen sind folgende:

  1. Besuch der WP- oder Discourse-Seite zur Anmeldung mit Angabe von Benutzername, E-Mail und Passwort (falls erforderlich; kann auch automatisch erstellt werden)
  2. Der Benutzer wird zu Discourse hinzugefügt und einer Gruppe zugewiesen.

Ist dies außerhalb von Memberful möglich?

Sie können dies erreichen, indem Sie Ihre WordPress-Seite als Single Sign-On-Anbieter für Ihre Discourse-Seite verwenden. Das WP-Discourse-Plugin verfügt über eine SSO-Anbieter-Option, mit der dies eingerichtet werden kann.

Der schwierige Teil besteht darin, Benutzer in Discourse-Gruppen zu bringen. Um dies mit dem WP-Discourse-Plugin zu tun, müssen Sie etwas Code zu Ihrer WordPress-Seite hinzufügen. Es gibt Code-Beispiele in diesem Forum, auf die wir Sie verweisen können, um Benutzer zu Gruppen hinzuzufügen, aber Sie benötigen eine Möglichkeit zu bestimmen, welchen Discourse-Gruppen Ihre WordPress-Benutzer hinzugefügt werden sollen. Eine Möglichkeit, dies zu erreichen, besteht darin, ein Mitgliedschafts-Plugin zu Ihrer WordPress-Seite hinzuzufügen und dann Benutzer basierend auf ihrem WordPress-Mitgliedschaftslevel zu Discourse-Gruppen hinzuzufügen.

Um eine Anmeldung von Benutzern und deren Hinzufügung zu Discourse-Gruppen zu ermöglichen, ohne dass Sie zusätzlichen Code hinzufügen müssen, können Sie das Discourse-Patreon-Plugin in Betracht ziehen. Memberful ist ebenfalls eine gute Option.

Das sollte funktionieren:

if ( class_exists( '\WPDiscourse\Discourse\Discourse' ) ) {
    add_filter( 'wpdc_sso_params', 'wpdc_custom_sso_params', 10, 2 );
}
function wpdc_custom_sso_params( $params, $user ) {
    $groups = get_group_list_for_current_user();
    if ( strlen($groups) > 0 ) {
        $params['add_groups'] = $groups;
    }
    return $params;
}

get_group_list_for_current_user ist als Übung für den Leser überlassen. :wink:

Wenn das nicht hilft und du ein Budget hast, kannst du dich im Marketplace melden oder mich kontaktieren.