我有一个简单的问题。我需要创建一个前端页面,它将使用wordpress处理重置密码功能,所以基本上它与wordpress默认值相同,只是它在前端。
但有一件事我无法弄清楚,当用户在前端重置密码时,但他或她输入的用户名或电子邮件在数据库中不存在,所以现在我们需要提供错误消息。目前如果发生这种情况,它将重定向到管理员wp-login.php,这不好,我希望它重定向到带有参数的前端页面,用户永远不应该看到管理页面
是否有任何解决方案,这可能很简单,但我一直在寻找一段时间,但找不到答案
非常感谢任何帮助
答案 0 :(得分:2)
好吧,让我回答一下我的问题,基本上使用“lostpassword_post”来验证用户名或密码,然后再发送重置帖子,然后如果出错,重定向。
add_action('lostpassword_post', 'validate_reset', 99, 3);
function validate_reset(){
if(isset($_POST['user_login']) && !empty($_POST['user_login'])){
$email_address = $_POST['user_login'];
if(filter_var( $email_address, FILTER_VALIDATE_EMAIL )){
if(!email_exists( $email_address )){
wp_redirect( 'register/?userexist=false' );
exit;
}
}else{
$username = $_POST['user_login'];
if ( !username_exists( $username ) ){
wp_redirect( 'register/?userexist=false' );
exit;
}
}
}else{
wp_redirect( 'register/?lostempty=true' );
exit;
}
}