回答:
これにより、プラグインはアクティブなときにデフォルトの役割を簡単に乗っ取ることができます。
// Hijack the option, the role will follow!
add_filter('pre_option_default_role', function($default_role){
// You can also add conditional tags here and return whatever
return 'subscriber'; // This is changed
return $default_role; // This allows default
});
私はそれを使用して、管理者が変更しようとするかどうかに関係なく、サブスクライバーの役割を必要とする一部のプラグインがそれを確実に取得できるようにします:)
よろしく。
wp_insert_user()
関数を介して新しいユーザーが作成されると、ロールはクラスのset_role()
メソッドでUser
設定され、デフォルトのユーザーロールに設定されます。
デフォルトのユーザーロールはデータベースから取得され、get_option('default_role')
管理ダッシュボードで[設定]> [一般]> [新しいユーザーのデフォルトロール]に移動して設定できます。
(を使用して)新しい役割を登録している場合はadd_role()
、そこから選択できるようになります。
または、より詳細な制御のために、user_register
またはprofile_update
アクションにフックして、set_role
条件付きでそれらをオンにしたり、その他の方法で好きなようにしたりできます。
を使用してユーザーを作成した後
$user_id = wp_create_user( $user_login, $pas1, $user_email );
ユーザーオブジェクトを作成する
$user = new WP_User($user_id);
次に、役割を設定します
$user->set_role('editor');
「editor」の役割を次のいずれかに置き換えることができます。
管理者
編集者
著者
寄稿者
加入者
テーマのPlugingまたはfunctions.phpに配置します
//Make 'Client' a default role
update_option('default_role','client');