購読者ではなく、ブログの新規ユーザーにカスタムロールを割り当ててもらいたいです。これをプログラムで設定する方法バックエンドから変更できることを私は知っています。
これにより、プラグインはアクティブな間にデフォルトの役割を簡単にハイジャックすることができます。
// 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()
関数を使用して新しいユーザーを作成すると、その役割はUser
クラスのset_role()
メソッドで設定され、デフォルトのユーザー役割に設定されます。
デフォルトのユーザロールはデータベース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');