在WordPress中,您可以使用以下代码来实现用户自动登录:
<?php
// 用户的用户名或邮箱地址
$username_or_email = 'user@example.com';
// 获取用户对象
$user = get_user_by('login', $username_or_email);
if (!$user) {
$user = get_user_by('email', $username_or_email);
}
if ($user) {
// 自动登录用户
wp_set_current_user($user>ID, $user>user_login);
wp_set_auth_cookie($user>ID);
// 重定向到登录后的页面(可选)
wp_redirect(home_url('/dashboard/'));
exit;
} else {
// 用户不存在的处理方式(可选)
wp_redirect(home_url('/login/?login=failed'));
exit;
}
?>
上述代码将用户的用户名或邮箱地址传递给$username_or_email
变量,然后使用get_user_by
函数来获取用户对象。如果用户存在,它将使用wp_set_current_user
函数设置当前用户,然后使用wp_set_auth_cookie
函数创建身份验证Cookie,从而实现自动登录。
接下来,您可以使用wp_redirect
函数将用户重定向到登录后的页面,或者如果用户不存在,您可以将其重定向到登录页面并传递失败参数(例如?login=failed
)。
请确保将上述代码放置在合适的地方,例如在您的自定义登录页面的处理逻辑中。此外,确保代码安全,并采取必要的安全措施来防止潜在的滥用,例如对输入进行验证和过滤。