Vai trò được lưu trữ trong biến toàn cầu $wp_roles
.
Chức năng lý tưởng làget_editable_roles()
từ/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;
}
Phần "có thể chỉnh sửa" là vì nó cung cấp cho các plugin khác cơ hội lọc danh sách trong trường hợp ai đó không phải là quản trị viên có 'edit_users'
đặc quyền (và do đó, 'quản trị viên' cần phải được xóa khỏi danh sách, người dùng khác có thể tự tạo quản trị viên). Các plugin quản lý vai trò được sử dụng để tạo các vai trò tùy chỉnh là các plugin sẽ sử dụng bộ lọc đó. Mặt khác, chức năng này là cơ bản get_roles()
(không tồn tại) .
Có lẽ plugin của bạn sẽ chỉ cung cấp trang cài đặt được đề cập cho người có khả năng cấp quản trị viên 'manage_options'
và về cơ bản là quản trị viên có quyền truy cập vào tất cả các vai trò, vì vậy bộ lọc không ảnh hưởng đến bạn.
Ngoài ra cònwp_dropdown_roles()
có vai trò là <option>
các trường trong <select>
danh sách (mặc dù các hộp kiểm có khả năng hoạt động tốt hơn trong nhiều tình huống khi bạn chọn ai có quyền truy cập vào nội dung nào đó) .