IS_USER_LOGGED_IN和$_SESSION[‘uname’]之间的差异

时间:2014-04-29 作者:Praveen

我正在编写一个条件来检查用户是否已登录,但不确定要使用以下哪种条件:

 if(!is_user_logged_in()){   
以及

 if(!isset($_SESSION[\'uname\'])){
基本上需要检查是否有用户登录。

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

检查用户是否登录的核心功能是is_user_logged_in(). 如果可能的话,你应该使用它。

默认情况下,WordPress根本不使用会话,据我所知,从未使用过会话。当我尝试时var_dump($_SESSION); 我得到了一个“未定义变量”的通知,与我预期的完全一样。我还没有使用最新版本进行明确测试,但我怀疑它引入了如此激进的变化。

如果你的网站使用会话,那么它并不是核心。必须有一个插件参与。如果该插件使用会话作为自定义登录系统的一部分,那么您可能必须使用$_SESSION[\'uname\'] 但希望你的插件是这样写的is_user_logged_in(), which is pluggable, 可与自定义登录系统正确配合使用。

结束