我有一个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());
你将能够继续你的下一个任务。