私はWordpressマルチサイトネットワークを設定しています。そこでは、ユーザーはメインサイトの1つ以上のサービスに加入し、サブサイトのコンテンツにアクセスすることができます。サブサイトへのアクセスは、メインサイトで購読しているサービスによって異なります。
ユーザーがメインサイトに登録するとき、私はいくつかのコードを使用してやりたいのですが、私はそのサブサイトにそのユーザーを追加し、サブサイトへのアクセス権を定義するアクセスを管理する
私の主な質問は、ユーザーがメインサイトにサインアップするときにサブサイトにユーザーを追加するためにどのようなコードを使用できるかということです。
ユーザー作成後に add_user_to_blog()
を実行します。
user_register()
にフックして、新しく作成されたユーザーIDを取得し、それをadd_user_to_blog()
を実行するコールバックに渡すことができます。
@hwl の回答を完成させます。
ほとんどの場合、WordPressのMultisiteインスタンスでは、ユーザー登録にアクティベーション手順が含まれています。
この場合、wpmu_activate_user
にアクションをフックする必要があります。 user_register
のアクションフックは無視されます。例えば:
my_function($user_id) {
// to add a user to main site (id=1) as a subscriber add_user_to_blog can be used
// more info: https://codex.wordpress.org/Function_Reference/add_user_to_blog
add_user_to_blog( '1', $user_id, 'subscriber' );
}
add_action('wpmu_activate_user','my_function',10,1);