既存のWordPressユーザーをDiscourseにインポートする

みなさん、こんにちは。

何か見落としているかもしれませんが、以下のことを実現するにはどうすればよいでしょうか?

既存の WordPress サイトには数百人の登録メンバーがいます。
WordPress を SSO プロバイダーとして使用する、新しい自己ホスト型の Discourse インストール。

既存の WordPress ユーザーをすべて Discourse にインポートする必要があります。そうすれば、Discourse の通知にアクセスするために、まず WordPress サイトにログインする必要がなくなります。

これらのユーザーは技術に詳しくないため、まずウェブサイトにログインするように求めるのは複雑すぎます。

彼らは現在、Google Groups の掲示板システムを使っており、メールだけで投稿を通じてコミュニケーションを取っています。そのため、新しいホストされた Discourse 内で自らプロビジョニングすることは確実ではありません。

アイデアがあれば、ぜひご教示ください。

Discourse へのユーザー移行ですか、それとも Discord への移行ですか?

WP Discourse プラグインを使用して WordPress を Discourse の SSO プロバイダーとして使用している場合、「ログイン時に Discourse ユーザーを作成または同期する」オプションを有効にすることで、お探しの機能が実現できます。Discourse ユーザーは、WordPress サイトに初めてログインした際に、WordPress ユーザーから作成されます。

@simon Discourse についてすみません。

そのオプションは有効にしていますが、Discourse にユーザーを作成するために、ユーザーがログインすることを必須にしたいわけではありません。
ユーザーの技術的な不慣れさのため、彼らからの何らの操作も必要なく、Discourse にユーザーをまとめてインポートする必要があります。

ユーザーの大半は実際にはログインすることはありません。しかし、彼らはメール返信を通じて会話に参加します。

いくつかのアプローチがあります。プログラミングを行うことに問題がなければ、WordPress を Discourse の SSO プロバイダーとして使用しているサイト向けに、WP Discourse プラグインが提供するいくつかの静的関数があります。これらの関数は以下のファイルにあります: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 のレート制限にも注意してください。リクエストは約 1 秒に 1 回程度に制限する必要があります。sync_sso_record の呼び出しが成功すると、Discourse のユーザーが返されます。

素晴らしい、ありがとうございます。もし少しのプログラミングにも自信がない場合はどうすればよいでしょうか?

上記の投稿は、既存のユーザーを WordPress に移行させる最も簡単な方法かもしれません。予算がある場合は、当サイトの Marketplace カテゴリにトピックを作成して、作業を依頼できる人を探すことができます。

予算がない場合は、ユーザーに WordPress サイトへのログインを懇願するしかありません。WordPress や Discourse に決してログインしないユーザーが多数いる場合、アプローチを見直す必要があるかもしれません。

@simon さん、ありがとうございます。
Marketplace に投稿しました。

ご支援いただき、ありがとうございました。

状況に応じて、最も簡単な方法は、SSO を使用してユーザーを Discourse にログインさせないことです。その場合、WordPress からユーザーリストをエクスポートし、メールアドレスを CSV ファイルに抽出して、Discourse の一括招待機能を使って、ユーザーをフォーラムに招待できます。招待メールをカスタマイズして、ユーザーがメール内のリンクをクリックし、コミュニティへの参加に同意する必要があることを知らせることができます。それを行えば、ユーザーはメールを通じて自由にコミュニティとやり取りできるようになります。

既存のデータをインポートするのが良さそうですね。リストの mbox ファイルを取得できますか?