IS_USER_LOGGED_IN()在不同页面上返回不同的值

时间:2018-06-23 作者:P.J

在我的大多数网站上,is\\u user\\u logged\\u in()工作得很好。

在设置了类似自定义模板的两个页面上,这会错误地返回FALSE。用户可以导航回其他页面,在那里它可以正常工作,没有问题。

实际上,用户将登录,并酌情看到“注销”。当他们只导航到特定页面时,会看到“登录”。

我已经做了一些测试,不确定是什么原因造成的。我试过几件事:

删除主题文件中对全局用户变量的引用

  • 通过define(\'COOKIEPATH\',\'/\')强制wp config中的cookie目录
  • 禁用可能有问题的插件
  • 我对可能导致这种情况的WP函数/调用没有很好的理解。如果您能给我一些可能出现问题的地方或故障排除的建议,我将不胜感激。主题模板中可能发生的中断是\\u user\\u logged\\u in()?我找对地方了吗?

    1 个回复
    SO网友:P.J

    好吧,解决我自己的问题。如果其他人偶然发现这一点并有类似问题:

    该问题是由于SSL的实现不完整/不正确造成的。我最近将所有内容都移动到了SSL(并将wp config和.htaccess设置为强制使用https)。

    这给指向未更新为在https中包含“s”的页面的某些链接带来了问题。WP仍会正确显示页面,但Cookie会中断,因此会导致is\\U user\\U logged\\U in()的错误返回。

    解决方案非常简单:将链接更新到https。

    结束

    相关推荐

    Cookies in template

    我需要根据cookies只显示一次页面的某些部分。主要问题是我只能在插件中设置cookie,挂起init操作。我已经读了20页的谷歌,这个网站,问了2个论坛,但我仍然有这个问题。任何帮助都将不胜感激!