繁体   English   中英

在WordPress中注销管理员后,无法在其他页面访问会话值

[英]session value is not accessible in another page when admin is logged out in wordpress

我在wordpress会话中遇到问题,该会话是我在ajax请求上设置会话值,并按要求初始化了该值,但是当我尝试在刷新当前选项卡后检查此值时。 此值被重置。 我观察到两件事:

  1. 如果我尝试在同一页面上获取会话值,则可以访问它,但在另一页面上,则无法访问。

  2. 如果管理员登录到wp,则一切正常。 我正在获得所需的价值。

我也曾经在另一台wordpress上尝试过此代码,并且效果很好。 如果有任何与权限有关的问题或其他任何问题,请告诉我。

基本上WordPress不使用会话,$ _ SESSION是WordPress未设置的全局变量之一。 因此,基本上,您必须显式声明会话。

如果您使用的是PHP 5.4>

if (session_status() == PHP_SESSION_ACTIVE) {
    echo 'Session is active';
}
  1. 如果禁用了会话, PHP_SESSION_DISABLED
  2. 如果启用了会话,则PHP_SESSION_NONE ,但不存在。
  3. PHP_SESSION_ACTIVE如果启用了会话且存在一个会话)。

此外,我建议使用以下方法(将此函数粘贴在functions.php中):

function _mySessionSet()
{
    if (session_status() == PHP_SESSION_ACTIVE) {
        echo 'Session is active';
    }
}
add_action('init', '_mySessionSet');

我正在使用相同的方法在WP网站中初始化session's

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM