Дизайн та розробка сайту

Как закрыть доступ к админке WordPress всем кроме администратора

Как закрыть доступ к админке WordPress всем кроме администратора

Как закрыть доступ к админке WordPress всем кроме администратора
Доброго времени суток. 🙂

Новая статья и новый материал по доработке стандартного функционала WordPress. Сегодня рассмотрим как ограничить доступ к адмнке всем кроме админа. Суть задачи в том, что при попытке входа на сайт, админ попадет в административную консоль. а все остальные будут перенаправлены на главную страницу. Даже если обычный пользователь попытается войти по адресу wp-admin/, его всеравно будет перекидывать на главную.

Как закрыть доступ к админке WordPress всем кроме администратора

Такой функционал поможет тем, кто хочет организовать на своем сайте авторизацию, например через социальные сети. Но при этом, чтобы после авторизации, пользователь смог бы только комментировать записи или доступ к закрытым материалам, но не смог попасть в консоль WordPress. Ведь вы не хотите, чтобы пользователь правил данные или попросту видел консоль.

И так, перейдем к самому интересному, как же организовать проверку и перенаправление, если не админ авторизовался. Все делается очень просто. Вам понадобится файл пользовательских функций function.php в конец которого нужно добавить следующий код:

Добавлять следует в самый конец перед закрывающим тегом php - ?>, если его нет, то просто в самый конец.

function only_admin()
{
if ( ! current_user_can( 'manage_options' ) && '/wp-admin/admin-ajax.php' != $_SERVER['PHP_SELF'] ) {
                wp_redirect( site_url() );
	}
}
add_action( 'admin_init', 'only_admin', 1 );

Можете проверять работу функции. Если вы администратор, то без проблем войдете в консоль. Если у вас на сайте есть пробный аккаунт пользователя не админа, тоже протестируйте. После авторизации, вас должно перекинуть на главную страницу.

Данная функция всегда у меня под рукой. Я ставлю ее на 80% тем что создаю. Чаще всего заказчики не хотят давать доступ в консоль даже авторам. Они устанавливают плагины личных кабинетов, что дают возможность настроить профиль без доступа в консоль. Так же, данная функция помогает частично обезопасить ваш сайт, от нежелательного доступа. Надеюсь данный материал вам поможет и вы воспользуетесь ним в своих проектах.

На этом все, спасибо за внимание. 🙂

Дизайн та розробка сайту

Back to top