Incorporar cadastro do Discourse na página do WP e adicionar novo usuário a um Grupo específico automaticamente?

Estou procurando permitir que um determinado grupo de pessoas se cadastre no meu Discourse. Minha preferência seria a seguinte:

  1. Visitar a página do WordPress ou do Discourse para cadastro, solicitando nome de usuário, e-mail e senha (se necessário; também é possível criar automaticamente)
  2. O usuário é adicionado ao Discourse e, além disso, incluído em um Grupo

Isso é possível sem usar o Memberful?

Você pode realizar isso usando seu site WordPress como provedor de Single Sign-On (SSO) para seu site Discourse. O plugin WP Discourse possui uma opção de Provedor SSO que pode ser usada para configurar isso.

A parte complicada é adicionar usuários a grupos do Discourse. Para fazer isso com o plugin WP Discourse, você precisará adicionar algum código ao seu site WordPress. Existem exemplos de código neste fórum aos quais podemos te direcionar para adicionar usuários a grupos, mas você precisa de uma maneira de determinar a quais grupos do Discourse os usuários do WordPress devem ser adicionados. Uma forma de fazer isso é adicionar um plugin de associação ao seu site WordPress e, em seguida, adicionar usuários a grupos do Discourse com base no nível de associação deles no WordPress.

Para que os usuários se cadastrem e sejam adicionados a grupos do Discourse sem que você precise adicionar nenhum código personalizado, você pode considerar o plugin Discourse Patreon. O Memberful também é uma boa opção.

Você quer algo assim

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

vai funcionar. get_group_list_for_current_user fica como um exercício para o leitor. :wink:

Se isso não ajudar e você tiver orçamento, pode perguntar em Marketplace ou entrar em contato comigo.