Peran disimpan dalam variabel global $wp_roles
.
Fungsi yang ideal adalahget_editable_roles()
dari/wp-admin/includes/user.php
function get_editable_roles() {
global $wp_roles;
$all_roles = $wp_roles->roles;
$editable_roles = apply_filters('editable_roles', $all_roles);
return $editable_roles;
}
Bagian "yang dapat diedit" adalah karena menawarkan plugin lain kesempatan untuk menyaring daftar jika seseorang selain admin memiliki 'edit_users'
hak istimewa (dan dengan demikian 'admin' perlu dihapus dari daftar, jika tidak maka pengguna dapat membuat sendiri admin). Plugin manajemen peran yang digunakan untuk membuat peran khusus adalah yang akan menggunakan filter itu. Kalau tidak, fungsi ini pada dasarnya get_roles()
(yang tidak ada) .
Agaknya plugin Anda hanya akan menawarkan halaman pengaturan yang dipermasalahkan kepada seseorang yang memiliki kemampuan tingkat admin seperti 'manage_options'
dan pada dasarnya adalah admin dengan akses ke semua peran, sehingga filter tidak akan memengaruhi Anda.
Ada jugawp_dropdown_roles()
yang memberi Anda peran sebagai <option>
bidang untuk<select>
daftar (meskipun kotak centang cenderung bekerja lebih baik di banyak skenario di mana Anda memilih siapa yang memiliki akses ke sesuatu) .