Intégrer l'inscription Discourse sur une page WP et ajouter automatiquement un nouvel utilisateur à un groupe spécifique ?

Je souhaite permettre à un certain groupe de personnes de s’inscrire sur mon Discourse. Voici mes préférences :

  1. Visiter une page WordPress ou Discourse pour l’inscription, en demandant un nom d’utilisateur, une adresse e-mail et un mot de passe (si nécessaire ; cela peut aussi être créé automatiquement).
  2. L’utilisateur est ajouté à Discourse et également à un groupe.

Est-ce possible sans utiliser Memberful ?

Vous pouvez réaliser cela en utilisant votre site WordPress comme fournisseur d’authentification unique (SSO) pour votre site Discourse. Le plugin WP Discourse propose une option « Fournisseur SSO » qui permet de configurer cela.

La partie délicate consiste à ajouter les utilisateurs aux groupes Discourse. Pour ce faire avec le plugin WP Discourse, vous devrez ajouter du code à votre site WordPress. Des exemples de code sont disponibles sur ce forum et nous pouvons vous les indiquer pour ajouter des utilisateurs à des groupes, mais vous devez avoir un moyen de déterminer à quels groupes Discourse vos utilisateurs WordPress doivent être ajoutés. Une méthode consiste à installer un plugin de gestion des adhésions sur votre site WordPress, puis à ajouter les utilisateurs aux groupes Discourse en fonction de leur niveau d’adhésion WordPress.

Pour permettre aux utilisateurs de s’inscrire et d’être ajoutés aux groupes Discourse sans que vous ayez à ajouter de code personnalisé, vous pouvez consulter le plugin Discourse Patreon. Memberful est également une bonne option.

Vous voulez quelque chose comme

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;
}

cela fonctionnera. get_group_list_for_current_user est laissé comme exercice pour le lecteur. :wink:

Si cela ne vous aide pas et que vous avez un budget, vous pouvez poser la question dans Marketplace ou me contacter.