2016-10-07 11 views
0

私はWordPressのプラグインを持っているので、ユーザーに "パスワード"が許可されていないことを警告せずに登録させる必要があります。 私のforeachループでは、もしそれが使われていたら、私は1つのパスワードをチェックする必要があります、そうでなければ、私はユーザーを認証します。foreachループにユーザー認証プロセスを確認させるにはどうすればよいですか?

これは、それは、ユーザーの資格情報をチェックして、彼らは間違っていた場合、それが正しいならば、それは彼のCPに彼を指示する、erorrメッセージが表示されます私の現在のコード、最初のループである:

if (isset($_POST["username"])) { 

    $creds = array(); 
    $creds['user_login'] = $_POST["username"]; 
    $creds['user_password'] = $user_pass; 
    if (isset($_POST["remember"])) 
     $creds['remember'] = true; 

    else 
    { 

     $user = wp_signon($creds, false); 
     if (is_wp_error($user)) 
      echo $user->get_error_message(); 
     else 
      wp_redirect(admin_url()); 


    }  
} 

しかし、どのような私は、ユーザーの資格情報をチェックするために必要なので、最初に正しいかどうかを確認する必要があります、私は彼のCPに彼を指示する必要があります、正しい場合は、私は次のチェックに現在のループを渡す必要がある彼が "passw0rd"のようなパスワードの特定の単語を使用していた場合は、それぞれのループ。 アドバイスはありますか?

+0

どのようなループですか?あなたが何を記述しようとしているのかはわかりません。このコードはあまり意味がありません。 'isset($ _ POST [" remember "])'がfalseならば、なぜあなたはすぐに 'else'ブロックで同じことをチェックしますか?それでも、それは間違いです。 – David

+0

申し訳ありませんが、削除しました。問題はコードのこの部分だけであるため、私はループを表示しませんでした。私はユーザーの信用をチェックする必要があります彼らが正しい場合は最初に、私は次のループに渡す必要があります。 – MRAN

+0

'wp_check_password()'関数を探していますか? https://codex.wordpress.org/Function_Reference/wp_check_password – David

答えて

0
$user = wp_signon($creds, false); 
    if (is_wp_error($user)) 
     echo $user->get_error_message(); 
    else 
     wp_redirect(admin_url()); 

これは、コードの一部であり、これを活用する必要があります。あなたの質問に述べるように、ユーザーがログインに失敗した後に何かしたいと思っています。

あなたのような何かにそれを編集した場合:あなたがあなたの次のタスクが何であるかを続けていくことができるでしょう

function nextCheck($userData){ 
    echo $userData['user_login'].' '.$userData['user_password']; 
} 

$user = wp_signon($creds, false); 
    if (is_wp_error($user)){ 
     nextCheck($creds); 
     echo $user->get_error_message(); 
    } 
    else 
     wp_redirect(admin_url());  

+0

私の友人、ありがとう、 '私は' wp_redirect(admin_url());を必要とする最初のユーザーの信用が正しい場合は、信用が間違っている場合、私は前進する必要があります。私のコードとあなたのユーザーは最後のステップをリダイレクトしています! – MRAN

+0

この行 'if(is_wp_error($ user))'は、ユーザーのサインインの詳細をチェックする行です。それが本当であれば(ユーザーがログインに失敗した)、それは括弧内のコードを実行します。信用が間違っていると、それはあなたが見つけることができるそのブロックの中に常にあります。 – IsThisJavascript

関連する問題