Ролі зберігаються в глобальній змінній $wp_roles
.
Ідеальна функція -get_editable_roles()
від/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;
}
«Редаговані» частина , тому що він пропонує інші плагіни можливість фільтрації списку в разі , якщо хто - то інший , ніж адміністратор має 'edit_users'
привілей (і , таким чином , потреби «адміністратора» , щоб видалити зі списку, в іншому випадку , що користувач може зробити себе адмін). Плагіни управління ролями, які використовуються для створення користувацьких ролей, - це ті, які використовували б цей фільтр. Інакше ця функція по суті є get_roles()
(що не існує) .
Імовірно, ваш плагін пропонуватиме відповідну сторінку налаштувань лише тому, хто має такі можливості 'manage_options'
адміністратора, як адміністратор з доступом до всіх ролей, тому фільтр не повинен впливати на вас.
Є також,wp_dropdown_roles()
що дає вам ролі як <option>
поля для <select>
списку (хоча прапорці, ймовірно, краще працюватимуть у багатьох сценаріях, коли ви вибираєте, хто має доступ до чогось) .