Wordpress ajax使用多站点登录
Wordpress ajax login using multisite
我正试图使用wordpress多站点开发ajax登录,但由于某些原因,我无法实现。我将凭据发送到我的脚本中,看起来还可以,它返回了正确的用户数据。问题是,当我用没有"_nopriv"的hook进行另一个ajax调用时,它返回false,所以用户没有登录,就好像WP不记得用户一样。
这是我的php代码:
add_action( 'wp_ajax_admin_login', 'admin_login' );
add_action( 'wp_ajax_nopriv_admin_login', 'admin_login' );
function admin_login() {
$succ = true;
$creds = array(
'user_login' => $_POST["user_login"],
'user_password' => $_POST["user_pass"],
'remember' => true
);
$user = wp_signon( $creds );
if ( is_wp_error( $user ) ) {
$succ = false;
$user = "Login failed!";
}
else{
do_action('wp_signon', $user->user_login);
wp_set_auth_cookie($user->ID);
wp_set_current_user($user->ID, $_POST["user_login"]);
}
echo json_encode(array('success' => $succ, 'currUser' => wp_get_current_user()));
wp_die();
}
我用js中的/admin/wp-admin/admin-ajax.php调用所需博客的url。请帮忙!
您需要在wp_signon
中传递$cred
数组。'user_login'
只包含用户的用户名。
do_action('wp_signon', $user->user_login);
而是
do_action('wp_signon', $creds);
相关文章:
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 尝试使用Phonegap进行php登录
- Facebook登录按钮没有'不能在Firefox上工作
- 使用javascript反复检查用户在facebook上的登录状态
- 通过iframe登录到远程站点
- Wordpress ajax使用多站点登录
- 在 iframe 中自动登录远程站点内部
- Javascript - 预填充 cookie 信息,以在指向外部站点的链接上交叉传递不必要的登录页面
- Facebook使用Parse客户端站点登录,使用Express js的用户对象
- 如何在 React 组件中使用 Facebook 开发者站点的 Facebook 登录按钮
- 登录到一个站点,而不使用 jQuery/ajax 重定向到该站点
- 显示FB登录,仅当当前站点之前未登录时
- CMS 多站点之间的全局登录
- 使用perl登录https站点
- 在casperjs中传递变量等参数进行评估并登录到站点
- 使用服务器端脚本登录并从https站点获取数据(这需要javascript!)
- 在后台加载重定向站点的登录脚本
- 从基于 JS 的 AIR 应用程序登录 ColdFusion 站点
- 使用API密钥为外部站点生成图表,但显示登录屏幕
- 使用curl请求和登录一个站点