gpt4 book ai didi

wordpress - session 变量不起作用 Firefox 和 Wordpress

转载 作者:行者123 更新时间:2023-12-04 05:36:33 26 4
gpt4 key购买 nike

好吧,这是绝望,我已经尝试了我能找到的所有修复方法,但都没有运气。
我在 wordpress 中使用 session 变量,它在除 Firefox 之外的所有浏览器中都能正常工作。我已经清除了缓存、cookies、以安全模式启动等,但没有任何乐趣。 Cookies 已启用,我也在不同的电脑上尝试过。

我在我的主题函数文件中开始 session ,如下所示:

function myStartSession() {
if(!session_id()) {
session_start();
}
}
add_action('init', 'myStartSession', 1);

然后在我的个人页面模板上,我按如下方式创建 session 变量:
$_SESSION['hq'] = 1;

我可以确认 sessionid 在每个浏览器中都保持不变,并且包括 Firefox 在内都可以正常工作,但是在 FF 中, session 变量没有正确地从一个页面传递到另一个页面,结果是不可预测的。

非常欢迎任何解决方案/建议。

最佳答案

不是一个全新的问题,但由于我正在寻找解决方案并来到这里,我会回答它以帮助其他程序员。

我开发的 WordPress 主题也遇到了类似的问题,我在 StackExchange 的这篇文章中找到了解决方案:https://wordpress.stackexchange.com/questions/40271/2-different-post-ids-for-single-page-load-only-in-firefox

由于 Firefox 的预取,下一篇文章/页面在后台加载, session 受此行为影响。

至少有两种可能的解决方案来解决这个问题:

  • 删除在页面 <head> 中插入下一页/帖子的操作使用以下函数调用:
    remove_action('wp_head', 'adjacent_posts_rel_link_wp_head');

    它可以添加到您的主题 functions.php文件。
  • 检查请求 header 以处理(或可能忽略)预取。所有预取请求都通过一个特殊的头部发送到服务器,如下:
    X-moz: prefetch

    您可以查找此 header 并以不同的方式处理请求。
  • 关于wordpress - session 变量不起作用 Firefox 和 Wordpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11851100/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com