Я делаю сайт с WordPress как CMS (установленный на нашем сервере, а не WordPress.com). Я хочу, чтобы страница учетной записи для перенаправления на страницу входа в систему, если пользователь не вошел в систему Там в пользовательский шаблон для страницы счета (account.php) и в верхней части я поместил этот код:.Wordpress Переадресация на логин
if(!is_user_logged_in()){
wp_redirect('www.mypage.com/login');
die();
}
Когда я обновляю и сохраняю страницу account.php, я захожу на панель инструментов WordPress и обновляю страницу там. Когда я перехожу к просмотру страницы учетной записи (обновляя страницу или нажав «страницу просмотра»), она обычно перенаправляет первый раз на страницу входа. Ура! Кажется, все хорошо, за исключением случаев, когда я нажимаю ссылку на учетную запись, я ожидаю, что она приведет меня на страницу входа, поскольку я все еще не вошел в систему, но в любом случае меня переводит на страницу учетной записи ... Я пробовал в режиме InCognito чтобы быть уверенным, что я не вошел в систему. Я помещаю эхо внутри этого оператора if, и он достигает его просто отлично, поэтому я знаю, что он правильно обнаруживает, что я не вошел в систему.
Кто-нибудь знает, почему это перенаправление при первой загрузке, но не при переходе на эту страницу? Как я могу это сделать, так что невозможно просмотреть account.php до входа в систему?
К сожалению я Freehand напечатал свой пост, у меня не был синтаксической ошибка в реальной сделке. –
, то он is_user_logged_in() должен работать отлично. ваш код выше 100%. если у вас нет другой проблемы. это может быть постоянная ссылка, которую вы используете для перенаправления. это ваш код в верхней части шаблона. отправьте свой код активации, который вы получаете URL-адрес переадресации. – anstrangel0ver
Проблема не в том, что user_logged_in не работает, проблема в том, что перенаправление работает, но только один раз. Я не уверен, правильно ли сформулировал это. –