WordPress使用wp_signon()方法登录的时候IE浏览器的问题

2016-06-19 20:57 栏目:技术开发 查看(4093)

湖南幸运赛车爱彩人彩票网 www.schu9.cn 在为长沙某公司开发企业官网的时候,我是使用WordPress来作为开发的,因为这个项目非常小,就是发布信息,用户登录注册及预约,因此采用这种较为敏捷的开发方式。查询WordPress相关资料后得知其实它本身就已经封装好了一个方法来进行登录操作,这就是wp_signon(WordPress官方文档)。

wp_signon()方法用于授权给用户登陆wordpress并可记住该用户名称。该函数取代了wp_login。WordPress 2.5版本起启用,该方法在wp-includes/user.php中,使用方法为:

wp_signon( $credentials, $secure_cookie );

【参数说明】

$credentials:(array) (可选) 登陆用户信息;Default: None

$secure_cookie:(boolean) (可选) 决定是否使用安全cookie;Default: None

注意:如果没有提供 $credentials, wp_signon 使用 $_POST 参数(键值为 “log”, “pwd” 和 “rememberme”)。

【函数返回值】

(object),登陆失败返回对象WP_Error,登陆成功则返回WP_User。

在谷歌中这个没有任何问题,但IE中发现这样做有一点问题,至于具体原因还没有完全弄清楚,这里写一下作为一个记录吧。因为暂时使用了一个感觉有点儿不着边的方法避免了这个问题。这个问题就是:当使用IE浏览器的时候,第一次使用这个方法登录完全正常,但退出之后再次登录却登录不上(这个方法返回的是成功,但不能获取任何有关用户的信息),而且清空IE浏览器缓存又可以正常登录并获取用户信息。

在临时处理方法中是在退出的时候强制进行session清空操作,但这里就纳闷了,按理说这里的session跟IE或者还是chrome客户端没什么关系吧,但为什么这么清空却正常呢?这里先记录以下,有时间再深入分析一下,顺便在这里贴出退出时强制清空session的在function.php中的代码。

add_action('init','session_manager');
function session_manager(){
session_start();
}

add_action('wp_logout', 'session_logout');
function session_logout() {
session_destroy();
}
与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:WordPress使用wp_signon()方法登录的时候IE浏览器的问题 - 微构网络
分享:
  • 中央直属机关工委主要职责 2019-05-22
  • 打造“互联网+”,共享经济改变百姓生活 2019-04-22
  • 破财免灾!C罗愿向西班牙税务部门缴纳1880万欧元 2019-04-19
  • 中国品牌SUV新标杆 人民网试驾WEY VV7VV5 2019-04-19
  • 杨爱国:借助小博会促进尚志社会经济加快发展 2019-04-15
  • 泪目!川农院士逝世5年,夫人每日都去看他的雕像…思念如马,不停蹄! 2019-04-15
  • 海信世界杯首秀出奇招 竟打出俄文广告 2019-03-25
  • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-03-11
  • 我和《人民日报》(我与人民日报·纪念人民日报创刊70周年) 2019-03-11
  • 杭州再增100个海绵城市项目 2018-11-08
  • 新华网申领新闻记者证资格审核公示 2018-11-08
  • 324| 593| 520| 538| 484| 252| 972| 500| 120| 747|