在 WordPress 中,服务器上是否有任何东西可能会抑制
wp_set_auth_cookie()
和/或 is_user_logged_in()
正常工作?
这个功能已经使用了一段时间,直到今天。 该区域没有代码更改。 可能的服务器设置? 该功能仍然可以在我家里的开发服务器上运行,但不能在实时托管服务器上运行。
在设置
$uid
: 的一些逻辑之后,代码片段挂接到“init”
wp_clear_auth_cookie();
wp_set_auth_cookie( $uid, false, true );
wp_set_current_user( $uid );
然后我重定向到一个页面,用户可以在其中确认他们是否在受信任的设备上:
wp_safe_redirect( $redirect_url );
在页面的主要部分(通过短代码调用),以下逻辑将失败:
if ( ! is_user_logged_in() ) {
return '<p>You must be logged in to view this page.</p>';
}
虽然这曾经工作得很好,但现在不起作用了。 它在我的家庭开发服务器上继续正常工作。
是否可能有某些服务器设置正在干扰?
看起来这是我的浏览器上的 cookie 问题。
清除我麻烦的浏览器上的cookie和缓存有助于它按预期工作。