Flector

Как скрыть активированные плагины от других администраторов?

Если вы не единственный администратор на сайте, то вам стоит побеспокоиться о том, чтобы другие администраторы не отключали и не удаляли плагины, которые требуются для корректной работы сайта. Я уже рассматривал способ, каким можно скрыть ссылки "Деактивировать" и "Изменить" на странице плагинов, а теперь предлагаю вам скрыть нужные плагины от чужих глаз вообще. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:

//скрываем плагины от всех кроме главного админа start
function wph_hide_plugins($plugins) {
    global $current_user;
    get_currentuserinfo();
    if( $current_user->ID != 1 ) {
        if( is_plugin_active('cyr2lat/cyr-to-lat.php') ) {
            unset( $plugins['cyr2lat/cyr-to-lat.php'] );
        }
    }
    return $plugins;
}
add_filter('all_plugins', 'wph_hide_plugins');
//скрываем плагины от всех кроме главного админа end

Указанные в коде плагины сможет деактивировать только главный администратор с ID равным 1. Все остальные администраторы вообще не увидят указанных плагинов в списке установленных и активированных плагинов.

Хочу опять напомнить, что скрытие плагинов должно сопровождаться запретом редактирования файлов через "Плагины\Редактор", так как там плагины будут доступны. В любом случае редактирование файлов через редактор WordPress это крайне плохая идея, так как в случае ошибки в php-коде вы не сможете оперативно отменить свои изменения и ваш сайт "сломается".


Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!