2017-04-26 59 views
0

我在wordpress會話中得到了問題,我在ajax請求上設置了 會話值,並且初始值爲 ,但是當我嘗試在刷新當前選項卡 後檢查此值。該值被重置。我觀察到的是兩兩件事:當管理員註銷wordpress時,其他頁面無法訪問會話值

  1. 如果我嘗試在同一頁上獲取會話值可被訪問 但在另一個頁面的情況下,它是不可訪問。

  2. 如果管理員登錄到wp,那麼一切工作正常。我需要我獲得價值的 。

我也被用來嘗試在一個WordPress的代碼,它工作正常。 請讓我知道是否有任何與權限 或其他任何問題有關的問題。

+0

請確保您的配置文件或文件中沒有空白(通常在<?php之前或之後的?>結尾處爲空行。) – FrankerZ

+1

您添加了session_start(); –

回答

0

基本上WordPress不使用會話,$ _SESSION是WordPress未設置的全局變量之一。所以,基本上你必須明確地聲明會話。

如果您使用的是PHP 5.4>

if (session_status() == PHP_SESSION_ACTIVE) { 
    echo 'Session is active'; 
} 
  1. PHP_SESSION_DISABLED如果會話將被禁用。
  2. PHP_SESSION_NONE如果會話已啓用,但不存在。
  3. PHP_SESSION_ACTIVE如果會話已啓用,且存在會話。

此外,我會建議如下使用(在functions.php中此功能粘貼)::

function _mySessionSet() 
{ 
    if (session_status() == PHP_SESSION_ACTIVE) { 
     echo 'Session is active'; 
    } 
} 
add_action('init', '_mySessionSet'); 

我使用同樣的方式在我們的網站WP初始化session's

+0

我嘗試過你的建議。但它仍然不適合我。其實我在ajax請求期間在php中的下拉式onchange事件上創建會話,並創建好。但是一旦創建了它,它應該在頁面刷新後保持。我正在檢查會話值,如print_r($ _ SESSION)。但是沒有獲得會話中的選定值。另外,我必須在瀏覽器關閉時刪除會話值。這似乎不可能通過cookie多數民衆贊成爲什麼我使用會話,而不是。在我的另一個WordPress的設置這一切工作正常。請建議我出於此。 謝謝 – Gaurav

+0

**我正在使用PHP版本5.5.38 ** – Gaurav

+0

正如我之前提到的,WordPress自行設置了'$ _SESSION'變量。因此,我們需要在刷新頁面時開始會話。請讓我知道你在WordPress設置中如何使用上面分享的功能。 – BlueSuiter

相關問題