大家好,
也许我漏掉了什么,但我该如何实现以下目标?
现有的 WordPress 站点包含数百名已注册用户。
新的 Discourse 自托管安装,使用 WordPress 作为 SSO 提供商。
我需要将所有现有的 WordPress 用户导入到 Discourse 中,这样他们就不需要先登录 WordPress 站点就能接收 Discourse 的通知。
这些用户并不精通技术,要求他们先登录网站对他们来说太复杂了。
他们目前习惯于使用 Google Groups 公告板系统,可以通过电子邮件直接发布帖子进行交流。因此,他们不会可靠地在新的托管 Discourse 中自行注册。
任何建议都将不胜感激。
simon
2
您是想将用户迁移到 Discourse 还是 Discord?
如果您使用 WordPress 作为 Discourse 的 SSO 提供商,并安装了 WP Discourse 插件,启用“登录时创建或同步 Discourse 用户”选项即可实现您的需求。当用户首次登录您的 WordPress 网站时,Discourse 用户将从 WordPress 用户创建。
@simon 抱歉,Discourse 的问题。
我启用了该选项,但我不希望用户必须登录才能在 Discourse 中创建账户。
由于用户的技术能力有限,我需要批量导入他们到 Discourse,而无需他们进行任何操作。
绝大多数用户实际上永远不会登录。然而,他们确实会通过邮件回复参与讨论。
simon
4
有几种方法可以采用。如果您不介意进行一些编程工作,WP Discourse 插件为将 WordPress 用作 Discourse 的 SSO 提供程序的网站提供了一些静态函数。这些函数位于此文件中:https://github.com/discourse/wp-discourse/blob/master/lib/utilities.php。
要使用这些函数,您需要遍历所有 WordPress 用户,并为每个用户调用:
$sso_params = \WPDiscourse\Utilities\Utilities::get_sso_params( $user );
\WPDiscourse\Utilities\Utilities::sync_sso_record( $sso_params );
第一行中的 $user 参数应为 WordPress 用户对象。
您需要注意 Discourse 的速率限制。建议将请求频率限制为大约每秒一次。当 sync_sso_record 调用成功时,将返回一个 Discourse 用户。
simon
6
我上面发布的内容可能是将现有用户导入 WordPress 的最简便方法。如果您有预算,可以在我们的 Marketplace 分类中创建一个主题,寻找专人为您完成这项工作。
如果您没有预算,可以恳请您的用户登录您的 WordPress 站点。如果您有许多用户永远不会登录 WordPress 或 Discourse,那么您可能需要重新考虑您的方案。
谢谢 @simon。
我已在 Marketplace 中发布。
感谢您的协助。
simon
8
根据您的具体情况,最简单的做法是不使用 SSO 将用户登录到 Discourse。您可以从 WordPress 导出用户列表,将他们的电子邮件地址提取到 CSV 文件中,然后使用 Discourse 的 批量邀请功能 邀请他们加入您的论坛。您可以自定义邀请邮件,告知用户需要点击邮件中的链接并同意加入社区。一旦他们完成这些操作,就可以通过电子邮件自由地参与互动。
pfaffman
(Jay Pfaffman)
9
听起来你应该做的是导入现有数据。你能获取该列表的 mbox 文件吗?