Допустим в админке 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' );
Полный перечень ролей и прав можно посмотреть в кодексе.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу поменять копирайт в админке magento2x, но переопределение не происходит
вызываю функцию get_template_directory() и получаю путь D:\OpenServer\domains\wplocal/wp-content/themes/ как видно имеем "/" и "\", не могу найти как их настроить, для пути до корневой...