Intereting Posts
URL-адрес GUID Почему на странице «Сообщения» отображается только одно сообщение при использовании Thematic? Как создать зависимое выпадающее меню в WordPress Можно использовать wordpress в качестве платформы публикации, но программно вставлять контент? Создайте и отправьте информационный бюллетень из интерфейса Foreach loop внутри цикла foreach? условный оператор, выражающий, что текущий пользователь не вышел из системы (все еще находится в том же сеансе входа в систему)? Кнопка ввода для экрана сообщения Как сохранить страницу, на которой я включен в URL, при поиске в таксономии? Параметры пользовательского виджета в теме Как отобразить архив, выбрав год, а затем выбрав месяц Как я могу удалить первое видео из сообщения и использовать его? Как добавить div для вывода галереи по умолчанию Переменная не остается установленной Получение пользовательских данных из нескольких источников входа (Social Login, BuddyPress)

Запретить доступ к странице пользовательского входа для зарегистрированных пользователей

Я создал пользовательскую страницу входа, отличную от страницы входа по умолчанию. Пользовательская страница входа работает безупречно без ошибок и перенаправляет после входа на указанную страницу.

Однако мне нужно предотвратить доступ к этой странице входа, когда пользователи вошли в WordPress и по какой-либо причине снова пытаются просмотреть страницу входа в систему. Пользователь должен быть перенаправлен на домашнюю страницу или любую другую указанную мной страницу. Я использовал функцию get_queried_object (), чтобы вернуть элемент заголовка объекта объекта страницы («Login» в этом случае).

Условная проверка, которая должна принудительно перенаправить, когда $ page_title = 'Login', как показано в коде ниже, ничего не делает, поскольку я все еще могу получить доступ к странице входа, даже когда я зашел на сайт.

function redirect_login_page() { $page_object = get_queried_object(); $page_title = get_queried_object()->post_title; $login_page = home_url( '/login/' ); $home_page = home_url(); $nf_page = home_url('404'); $page_viewed = basename($_SERVER['REQUEST_URI']); if (!is_user_logged_in() ) { if( $page_viewed == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') { wp_redirect($login_page); exit; } } else { if( ($page_viewed == "wp-login.php" or $page_viewed == "login.php" OR $page_title == 'Login') && $_SERVER['REQUEST_METHOD'] == 'GET') { wp_redirect($home_page); exit; } } } add_action('init','redirect_login_page'); 

Как можно перенаправить это перенаправление для уже зарегистрированных пользователей.