Проблема, возникшая при попытке сохранить приватный веб-сайт

Я работаю на тестовом сайте, и я пытался сделать свой сайт приватным, перенаправляя всех не зарегистрированных пользователей на страницу входа, добавив следующий код в файл function.php моей темы:

function redirect_user() { if ( ! is_user_logged_in() && ! is_page(array('login','register','lostpassword','contact-us' ))) { $return_url = esc_url( home_url( '/login/' ) ); wp_redirect( $return_url ); exit; } } add_action( 'template_redirect', 'redirect_user' ); 

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

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

Solutions Collecting From Web of "Проблема, возникшая при попытке сохранить приватный веб-сайт"

Просмотрев ссылку на сброс пароля, я понял, что две переменные передаются через ключ $ _GET: и логин. Я добавил код ниже к началу моей функции redirect_user ():

 if(isset($_GET['key']) && isset($_GET['login'])) { return ; } 

Это не исправить проблему, и я все еще перенаправлялся на страницу входа в систему всякий раз, когда я нажимаю ссылку на сброс пароля, однако, когда я сделал следующее редактирование:

 if(!isset($_GET['key']) && !isset($_GET['login'])) { return ; } 

Он работает по назначению, но я смущен почему.