Получить список всех возможностей ролей
Существует ли возможность получить список всех доступных возможностей (capabilities) как wp_roles()->roles только для возможностей?
Существует ли возможность получить список всех доступных возможностей (capabilities) как wp_roles()->roles только для возможностей?
https://codex.wordpress.org/Roles_and_Capabilities
Возможности это исключительно привилегия ролей и нет такой опции где они все хранятся... Поэтому чтобы получить список, тебе нужно получить все роли и пробежаться по ним и собрать все возможности...
Если нужно просто посмотреть какие есть возможности, то поставь плагин User Role Editor. Получишь вот такой список:
Ну это не совсем так. Я же могу получить список всех возможностей, которые могут быть у абстрактного пользователя или роли по отношению к записи определенного типа. Если имеется запись типа 'realty', массив возможностей этой записи на экран можно вывести следующим образом:
Почти также обстоит дело с возможностями таксономии. Если зарегистрирована пользовательская таксономия 'region', все ее возможности можно показать следующим образом:
То есть я могу получить посты и таксономии и в цикле вывести все их возможности.
OK, какие еще могут быть объекты, для которых WP может устанавливать ограничения доступа с помощью проверки возможностей?
Можно ли например получить массив возможностей всех пунктов админского меню, страниц админки?
Я имею ввиду третий параметр функции add_menu_page().
UserRole_editor откуда то их же берет.
Весь прикол в том, что права ниоткуда не берутся... Они есть у записей такс, в админке еще где-то. Общего списка нет... Например, я могу придумать любое право допустим
moe_pravo
и при создании плагина наделить его каким-то доступом с помощью проверкиif( current_user_can('moe_pravo') )
. И потом чтобы юзер смог что-то сделать, ему нужно добавить это право в список прав. При этом оно больше нигде не будет фигурировать, кроме как в проверке current_user_can()...Права у юзеров могут быть личные, конкретно у отдельного юзера и могут быть права его роли... А источник прав может быть вообще любой...
Или я чего-то не знаю про вордпресс, но с тем чтобы права где-то хранились или регались в какой-то общий список или массив - я такого не знаю...