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

Я знаю, что этот вопрос задан миллион раз, но я не могу найти ответ, который либо подгоняет версию WordPress сейчас, и / или мой конкретный случай.

У меня есть сайт WordPress с установленным на нем Buddypress.

Я хочу, чтобы: – Не вошедшие пользователи могут видеть только страницу wp-login.php – Записанные пользователи могут получить доступ ко всему сайту

Я просто не могу понять это, это невозможно. Либо я меняю адрес сайта, либо назначаю страницу, либо fuctions … Ничего не работает, все время ошибка или ошибка 404 страницы и т. Д. …

В принципе: вы приходите на сайт, вы не вошли в систему = Wp-Login.php, если вы вошли в систему на странице "members"

Спасибо !

Solutions Collecting From Web of "Как перенаправить без входа пользователей на страницу входа в WordPress?"

Существует много разных способов сделать это на основе того, каково ваше конечное желание (используйте страницу входа wp, пользовательскую страницу входа и т. Д.). Вы можете попробовать это в своем файле functions.php:

if ( ( is_single() || is_front_page() || is_page() || is_archive() || is_tax() ) && ! is_page( 'login' ) && ! is_page('register') && ! is_user_logged_in() ) { auth_redirect(); } 

Или вы можете использовать любое количество плагинов там, например https://wordpress.org/plugins/wp-require-login/ или https://wordpress.org/plugins/wp-force-login/

ОБНОВИТЬ

Теоретически, вы можете просто использовать это, просто не тестировали …

 if( ! is_page( 'login' ) && ! is_page('register') && ! is_user_logged_in() ) { auth_redirect(); } 

Взгляните сюда

https://wordpress.org/support/topic/how-to-auth_redirect-to-specific-page

 <?php if( !is_user_logged_in() ) { wp_redirect('http://somepagehere'); exit; } ?> 

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

 function admin_redirect() { if ( !is_user_logged_in()) { wp_redirect( home_url('/{custom page goes here}/') ); exit; } } add_action('get_header', 'admin_redirect'); 

Просто используйте этот плагин wordpress https://wordpress.org/plugins/restrict-user-access/, чтобы контролировать, кто может / не может получить доступ к вашему сайту.

Вы можете получить тонны подобных плагинов, если вы поиграете в Google.

Что вы хотите, чтобы проверить, не пытается ли пользователь в настоящее время пытаться войти или зарегистрироваться, если не перенаправить их на любую страницу.

 if ( !is_user_logged_in() && !is_page( 'login' ) && ! is_page('register') ) { //redirect user, create account with them, do a hoola-hoop } 

Обязательно поместите этот код в свой файл страницы перед get_header ();