Когда мы хотим настроить возможности пользователей в WordPress, мы можем сделать это достаточно детально.Например, мы можем настроить, чтобы определенный пользователь мог редактировать сообщения.Более того, мы можем ограничить возможность редактирования сообщений только определенными типами сообщений (например, cap: edit_posts
, edit_pages
, edit_[post_type]
).И даже с этого момента мы можем пойти дальше и думать только о том, как редактировать личные сообщения таких типов (например, cap: edit_private_posts
, edit_private_pages
);просто чтобы убедиться, что я имею в виду под «мелкозернистым».
Но когда речь идет о пользовательских возможностях, я знаю только 6 возможностей, а именно:
edit_users
, delete_users
, create_users
, list_users
, remove_users
и promote_users
.
Так что это такое? А как насчет: edit_editor_users
(что будет означать: редактировать только пользователей с ролью пользователя «редактор»).Я не могу поверить, что пользовательские возможности действительно настолько просты.
Когда я доставляю клиенту сайт WP, я обычно не предоставляю ему доступ пользователю с ролью пользователя administrator
но более вероятно, что-то вроде editor
или пользовательских ролей.Но когда я хочу разрешить роли пользователя создавать пользователей, пользователи с этой ролью могут создавать пользователей с каждой ролью пользователя, даже administrator
s.Что было бы совсем нехорошо!Итак, еще раз.Мне нужно что-то вроде:
$role = get_role('editor');
$role -> add_cap('create_editor_users', true); // or in general:
$role -> add_cap('[edit|delete|create|list|remove|promote]_[user_role]_users', true);
Есть ли нехакерский способ добиться этого?Плагин тоже подойдет.