问题描述

我有一个窗体与一些复选框和输入框选择框,它通过 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。