問題描述

我有一個窗體與一些複選框和輸入框選擇框,它通過 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="http://<?php%20echo%20$url%20?>">

任何想法如何存儲我的值在會話中,並在瀏覽器中重新訪問/重新加載/返回按鈕時調用它們?

我需要能夠閲讀會話存儲的東西,並通過使用它?並通過已經運行良好的 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。