我的A站点将POST数据传递给站点B,因此必须将用户登录到站点B。
我不想在网站B验证密码,所以我在下面使用:
$user = $_POST;
$a = get_user_by('login', $user['data']['user_login']);
do_action('wp_login', $a->data->user_login, $a);
wp_set_current_user( $a->data->ID );
wp_set_auth_cookie( $a->data->ID );
我可以像这样获得当前登录的用户:wp_get_current_user();
。
当我检查is_user_logged_in()
时,它也是正确的。
但是当我重定向到站点B时,用户没有登录。
还有一个是,
当我回复site_url()
时,它说网站B的网址是正确的。当我使用wp_safe_redirect
或wp_redirect()
时它会转到网站A.
所以我使用这样的黑客:
$string = '<script type="text/javascript">';
$string .= 'window.location = "' . site_url() . '"';
$string .= '</script>';
echo $string;
exit;
我在这里做错了什么?