Ролі зберігаються в глобальній змінній $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>списку (хоча прапорці, ймовірно, краще працюватимуть у багатьох сценаріях, коли ви вибираєте, хто має доступ до чогось) .