Jawaban:
Ini memungkinkan plugin untuk dengan mudah membajak peran default saat sedang aktif.
// 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
});
Saya menggunakannya untuk memastikan beberapa plugin yang membutuhkan peran pelanggan mendapatkannya terlepas dari upaya Administrator untuk mengubah :)
Salam .
Ketika pengguna baru dibuat melalui wp_insert_user()
fungsi, peran diatur dengan set_role()
metode User
kelas dan diatur ke peran pengguna default.
Peran pengguna default diambil dari database get_option('default_role')
dan dapat diatur melalui Dasbor Admin dengan masuk ke Pengaturan> Umum> Peran Default Pengguna Baru.
Jika Anda telah mendaftarkan peran baru Anda (menggunakan add_role()
, itu harus tersedia di sana untuk dipilih.
Atau, untuk kontrol lebih lanjut, Anda dapat memasukkan ke dalam user_register
atau profile_update
tindakan untuk kemudian set_role
pada mereka secara kondisional, atau apa pun yang Anda suka.
Setelah Anda membuat pengguna menggunakan
$user_id = wp_create_user( $user_login, $pas1, $user_email );
Buat objek pengguna
$user = new WP_User($user_id);
Kemudian atur peran
$user->set_role('editor');
Anda dapat mengganti peran 'editor' dengan salah satu dari yang berikut:
Administrator
Editor
Penulis
Penyumbang
Pelanggan
Masukkan ke dalam Pluging atau functions.php dari tema Anda
//Make 'Client' a default role
update_option('default_role','client');