Я использовал учебник Джеффа Стара для создания своей собственной формы входа в систему http://digwp.com/2010/12/login-register-password-code/ . Это прекрасно работает, но у меня есть одна проблема. В форме сброса пароля, если кто-то вводит свое имя пользователя неправильно (чтобы он не проверял), он получает предупреждение по умолчанию wp-login.php? Action = lostpassword с сообщением об ошибке.
Есть ли способ перенаправить на мою страницу ошибки?
Спасибо!
username_exists()
вам как-то помочь?Ответы:
Код, который он опубликовал в этой публикации (очень хороший BTW), представляет собой форму для встроенного модуля «Сброс пароля», который перенаправляет на login.php при ошибке, но вы можете изменить его и построить свой собственный на основе оригинала и добавить это к странице шаблона, измените:
чтобы:
источник
&redirect_to=$_SERVER['REQUEST_URI']
ссылку в электронное письмо, которое вы отправляете.$message .= get_option('siteurl') . "/wp-login.php?action=rp&key=$key&login=$user_login&redirect_to=$_SERVER['REQUEST_URI']\r\n";
, но странно то, что когда я добавляю & redirect, сообщение не отправляется. , , Кроме того, мне нужно будет сделать новую форму для пользователя, чтобы ввести свой новый пароль и тому подобное?Вот обновленная версия кода от @bainternet с исправленными синтаксическими ошибками, предложением @Val и генератором ключей из wp-login.php 3.4.2:
источник
У меня все еще возникали проблемы с неработающим ключом сброса, ссылка в электронном письме перенаправила бы меня на стандартную страницу сброса пароля с параметром URL, указывающим на проблему с ключом, поэтому я более внимательно следил за файлом wp-login.php и включил объект $ wp_hasher, это решило проблему и теперь работает сброс пароля в электронном письме
источник