Примеры, перечисленные ниже, предназначены для того, чтобы закрыть доступ к админке некоторым группам пользователей и даже конкретным пользователям.
Хочу обратить ваше внимание на то, что если вы хотите заблокировать админку для всех кроме себя, то лучше делать это по IP через .htaccess.
А теперь пример.
В данном случае посылается 404-й заголовок, говорящий о том, что страница не существует, но также можно вывести какое-нибудь сообщение, либо подключить специальный HTML-файл.
function true_wp_admin_block() { if (!current_user_can('administrator')) { // если не администратор header('HTTP/1.0 404 Not Found'); exit(); } } add_action('admin_menu', 'true_wp_admin_block'); |
Глянем ещё один примерчик, в этот раз будем блокировать конкретного юзера:
function true_wp_admin_by_user() { global $user_ID; if ($user_ID == '1') { // ID пользователя, для которого закрываем доступ header('Content-Type: text/html; charset=utf-8'); $user = get_userdata($user_ID); echo "Эй, {$user->first_name} {$user->last_name}, тебе сюда нельзя!"; exit(); } } add_action('admin_menu', 'true_wp_admin_by_user'); |
Весь код засовывать в файл functions.php, находящийся в папке с текущей темой.
Источник: misha.blog