Допустим в админке wordpress зарегистрированы 2 администратора, второй администратор нужен для теста сайта и отладки, потому-что будут участвовать несколько человек в тестах. Подскажите, как можно в wordpress ограничить некоторые возможности 2го администратора, чтобы допустим запретить ему установку плагинов, или удаление плагинов? И на какой это хук цепляется, чтобы ограничить права?
Попробовал сделать самостоятельно, но это ограничение не срабатывает:
function wpcodex_set_capabilities() {
// Перечень прав на удаление
$caps = array(
'install_plugins'
);
$user_id = 2; // ID администратора, которго надо ограничить в правах
$user = new WP_User( $user_id );
foreach ( $caps as $cap ) {
// Удалить права
$user->remove_cap( $cap );
}
}
add_action( 'init', 'wpcodex_set_capabilities' );
Для запрета установки плагинов и редактирования файлов плагинов и темы нужно добавить следующие строки в config.php:
define('DISALLOW_FILE_EDIT',true);
define('DISALLOW_FILE_MODS',true);
Если у второго админа нет доступа к ftp, он не сможет выполнять перечисленные действия. Да и никто не сможет.
UPDATE:
Есть возможности отнять некоторые capabilities (права) у определенного администратора:
function wpcodex_set_capabilities() {
// Перечень прав на удаление
$caps = array(
'activate_plugins',
'export',
'remove_users',
'switch_themes',
'delete_site'
);
$user_id = xxx; // ID администратора, которго надо ограничить в правах
$user = new WP_User( $user_id );
foreach ( $caps as $cap ) {
// Удалить права
$user->remove_cap( $cap );
}
}
add_action( 'init', 'wpcodex_set_capabilities' );
Полный перечень ролей и прав можно посмотреть в кодексе.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости