Как настроить обязательную авторизацию на сайте WordPress?

Здравствуйте! Вы планируете создать сайт, и в вашем техническом задании есть требование сделать авторизацию обязательной, чтобы пользователь мог просматривать контент. Вы рассматривали плагины Мембершип, но они вам не подходят. Нужно, чтобы неавторизованного пользователя перенаправляло на страницу wp-login при переходе по ссылкам на сайте. правильно понимаю ваш вопрос?
  • 5 января 2024 г. 5:57
Ответы на вопрос 2
Да, вы правильно поняли. Чтобы настроить обязательную авторизацию для всех посетителей вашего сайта на WordPress, так что каждого, кто пытается доступ к сайту, перенаправляло на страницу входа (wp-login.php), вам нужно добавить соответствующий код в файлы темы WordPress. Ниже приведены шаги для настройки этого процесса:

1. Войдите в административную панель WordPress.

2. Перейдите в раздел "Внешний вид" -> "Редактор тем".

3. Найдите файл `functions.php` вашей активной темы.

4. Добавьте следующий PHP-код в файл `functions.php`:
```php
function force_user_login() {
    if (!is_user_logged_in()) {
        // Исключить страницы входа и регистрации из перенаправления
        if (!is_page('wp-login.php') && !is_page('registration')) {
            wp_redirect(wp_login_url());
            exit;
        }
    }
}
add_action('template_redirect', 'force_user_login');
```

Обратите внимание, что в коде присутствует проверка, не находится ли уже пользователь на странице входа или регистрации, чтобы избежать бесконечного цикла перенаправлений.

5. Обновите файл нажатием на кнопку "Обновить файл".

Теперь при попытке доступа к любому разделу сайта неавторизованный пользователь будет перенаправляться на страницу авторизации.

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

Если вы предпочитаете использование плагина для управления доступом, вы можете найти специализированные плагины, такие как "Force Login" или любой другой, который выполняет аналогичную функцию и не требует ручных изменений кода. Просто установите и активируйте выбранный плагин, и он будет управлять процессом автоматически.
С помощью GPT нашёл вариант оставлю тут возможно кому-то пригодится в будущем 

Внести изменения в functions.php своей темы


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

Если ты не хочешь использовать код, существуют также плагины, такие как "Peter's Login Redirect", которые предоставляют удобные интерфейсы для настройки перенаправлений после входа в систему.
Похожие вопросы