是的,你可以。但是,您需要知道用户ID或用户名。
创建一个链接,将其中任何一个作为数据属性,并用它进行ajax调用。成功后,您只需重新加载页面,用户即可登录。
如果您知道用户id。。
function wpse_304392_login_by_id() {
$user_id = $_POST[\'user_id\'];
$user = get_user_by( \'id\', $user_id );
if( $user ) {
wp_set_current_user( $user_id, $user->user_login );
wp_set_auth_cookie( $user_id );
do_action( \'wp_login\', $user->user_login );
}
wp_die(); //Essential for AJAX calls
}
如果您知道用户名。。
function wpse_304392_login_by_username() {
$username = $_POST[\'username\'];
$user = get_user_by( \'login\', username );
$user_id = $user->ID;
if( $user ) {
wp_set_current_user( $user_id, $username );
wp_set_auth_cookie( $user_id );
do_action( \'wp_login\', $username );
}
wp_die(); //Essential for AJAX calls
}
别忘了做一次临时检查以确保安全。