editable_roles
Дозволяє змінити список із ролями користувачів сайту, що запитується функцією editable_roles() .
Використання
add_filter( 'editable_roles', 'wp_kama_editable_roles_filter' ); /** * Function for `editable_roles` filter-hook. * * @param array[] $all_roles Array of arrays containing role information. * * @return array[] */ function wp_kama_editable_roles_filter( $all_roles ){ // Filter... return $all_roles; }
-
$all_roles
(масив) Масив масивів, що містять інформацію про ролі. Де ключі масиву – це назва ролі (administrator, editor і т.д.), а значення – ім’я ролі, що відображається, і її можливості.
Приклад обробки даних дивіться в описі функції editable_roles() .
Приклади
#1 Виключимо зі списку ролей конкретні ролі
Нехай ми створили кілька додаткових ролей:
add_role('project_expert', 'Експерт'); add_role( 'project_moderator', 'Модератор'); add_role( 'project_tracker', 'Трекер'); add_role( 'project_tracker_fake', 'Трекер (непідтверджений)'); add_role('project_leader', 'Керівник');
Це спрощений приклад реєстрації ролей, у ньому опущений момент присвоєння ролям повноважень. Як правильно створювати ролі WordPress дивіться на add_role() .
Тепер під час роботи з користувачами будуть виводитися такі списки:
Якщо у вас індивідуальний проект та дефолтні ролі WordPress не використовуються, то вони в цих списках тільки заважають – прихуємо їх.
add_filter( 'editable_roles', 'hide_some_roles' ); function hide_some_roles( $all_roles ) { unset($all_roles['editor']); unset( $all_roles['author'] ); unset($all_roles['contributor']); unset( $all_roles['subscriber'] ); return $all_roles; }
Отримаємо список без цих ролей:
У цьому прикладі ми лише приховали зі списку певні ролі, але вони залишилися без змін та інший, з ними пов’язаний, функціонал залишився незмінним.
список змін
З версії 2.8.0 | Введено. |
Де викликається хук
Де використовується хук у WordPress
Використання не знайдено.