如何让foreach循环检查用户身份验证过程


How can I let foreach loop to check user authentication process?

我有一个wordpress插件,我需要让用户注册而不警告他们一些"密码"是不允许的。在我的foreach循环中,我需要检查一个密码是否被使用,如果没有,我将对用户进行身份验证。

这是我当前的代码,第一个循环,它将检查用户凭证,如果它们不正确,它将显示错误消息,如果正确,它将引导他到他的CP:

    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,如果不正确,我需要将当前循环传递到下一次检查,因为我需要添加我的if语句来检查每个循环中的用户,如果他使用了密码的特定单词,如"passw0rd"。任何建议吗?

   $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());       

你将能够继续你的下一个任务。