我想让特定群体的人注册我的 Discourse。偏好流程如下:
- 访问 WordPress 或 Discourse 页面进行注册,要求输入用户名、邮箱、密码(如有必要;也可自动创建)
- 用户被添加到 Discourse,并同时加入某个群组
除了 Memberful 之外,这可以实现吗?
我想让特定群体的人注册我的 Discourse。偏好流程如下:
除了 Memberful 之外,这可以实现吗?
你可以通过将 WordPress 站点作为 Discourse 站点的单点登录(SSO)提供者来实现这一功能。WP Discourse 插件 提供了 SSO 提供者选项,可用于完成此设置。
难点在于如何将用户添加到 Discourse 群组中。要使用 WP Discourse 插件实现这一点,你需要在 WordPress 站点中添加一些代码。本论坛上有相关的代码示例可供参考,用于将用户添加到群组,但你需要某种方式来确定 WordPress 用户应被添加到哪些 Discourse 群组。一种可行的方法是:在 WordPress 站点上安装会员管理插件,然后根据用户的 WordPress 会员等级将其添加到相应的 Discourse 群组。
如果你希望用户在注册时自动被添加到 Discourse 群组,而无需编写任何自定义代码,可以考虑使用 Discourse Patreon 插件。Memberful 也是一个不错的选择。
您可以尝试类似以下的代码:
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 函数需要您自行实现。![]()
如果上述方法没有帮助,且您有预算,可以在 Marketplace 中提问或直接联系我。