2014-02-08 37 views
1

我有一個簡單的問題。我需要創建一個前端頁面來處理使用WordPress的重置密碼功能,所以基本上它與wordpress默認的一樣,只是它在前端。WordPress的,前端重置密碼頁面重定向後用戶名或電子郵件不存在

但有一件事我無法弄清楚,當用戶在前端重置密碼,但他或她輸入的用戶名或電子郵件在數據庫中不存在時,現在我們需要給出錯誤消息。目前如果發生這種情況,它將重定向到管理員wp-login.php,這不好,我希望它重定向到帶有參數的前端頁面,用戶不應該看到管理頁面

是否有任何解決方案對於這一點,這可能是簡單的,但我一直在尋找了一段時間,但沒有找到答案

非常感謝您的幫助

回答

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; 
    } 
} 
相關問題