问题描述
我有一个窗体与一些复选框和输入框选择框,它通过 ajax 调用显示用户想要什么。问题是,当用户点击该项目并显示详细信息页面,然后决定返回上一页时,他需要单击并再次选择他的先前选择。
我想使 WP 存储会话中的所有选项,当按钮到详细页面被点击并保存实际信息在会话中,然后当他再次访问该页面时,会在会话中设置值,并设置是否有找到。
可以在 WP 中完成吗?
如果是,怎么样?
我们过分简单地说,我们有这样的形式:
<input class="car_color" type="checkbox" name="car_color" value="1" />
<input class="car_color" type="checkbox" name="car_color" value="2" />
<input class="car_color" type="checkbox" name="car_color" value="8" />
<input class="car_color" type="checkbox" name="car_color" value="4" />
<input class="car_color" type="checkbox" name="car_color" value="6" />
我不使用我的表单中的提交按钮,它通过输入更改的 AJAX 处理。
在我的结果通过 ajax 得到我有一个链接到详细页面:
<a class="detail-info-link" href="<?php echo $url ?>">
任何想法如何存储我的值在会话中,并在浏览器中重新访问/重新加载/返回按钮时调用它们?
我需要能够阅读会话存储的东西,并通过使用它?并通过已经运行良好的 ajax 触发我的搜索功能。
我只需要存储 (可能在通过详细按钮转到 href 中的 $ link 之前,读取和发送会话变量 (如果存在) 。
最佳解决方案
默认情况下,WordPress 中没有启用会话,如果要激活 PHP 会话,请在 functions.php
的开头添加:
if (!session_id()) {
session_start();
}
您现在可以使用 $_SESSION['your-var'] = 'your-value';
设置会话变量。看看 PHP documentation on sessions 。
更新:
有一个第二个答案,在我看来,有一个价值 – 不幸的是它被删除,我是 re-adding 这里的信息。答案是指 WP Session Manager 由 @eamann 编写的插件作为替代解决方案。我读了一些有关插件的东西,但从来没有使用过,因为 – 到目前为止,我坚持使用 PHP 会话 – 从来没有遇到过我无法使用的问题。这是一个 statement/comment 由插件作者自己发现的一些可能的优势。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。