WordPress: Запретить доступ к сайту не авторизованным пользователям

Если Вам понадобилось запретить не авторизованным пользователям доступ к своему сайту на WordPress, то можно сделать это как с помощью плагинов, так и с помощью внесения изменений в нужные файлы Вашей темы.


Использование плагинов

Самый простой способ решения данной проблемы — использование одного из множества плагинов. К примеру, Force Login


Использование functions.php

Для того, чтобы реализовать запрет доступа к сайту не авторизованным пользователям без использования плагинов, достаточно открыть файл functions.php используемой темы, и добавить туда эти строки:

add_action( 'template_redirect', function() {
	is_user_logged_in() || wp_die( 'Доступ запрещен.', 'Not found', [ 'response' => 404 ] );
});

Если нужно, чтобы вместо надписи «Доступ запрещен» перекидывало на страницу с авторизацией, то нужно немного поменять код:

add_action( 'template_redirect', function() {
	is_user_logged_in() || auth_redirect();
});