2013-09-30 90 views
0

我把這個代碼在所有頁面中的真隨機帖子,但會議關閉瀏覽器後仍然活着。關閉會話在wordpress

的functions.php

session_start(); 

add_filter('posts_orderby', 'edit_posts_orderby'); 

function edit_posts_orderby($orderby_statement) { 

    $seed = $_SESSION['seed']; 
    if (empty($seed)) { 
     $seed = rand(); 
     $_SESSION['seed'] = $seed; 
    } 

    $orderby_statement = 'RAND('.$seed.')'; 
    return $orderby_statement; 
} 

如何在WordPress重新啓動會話?如果相同的用戶重新加載index.php我想要發佈是隨機的,不一樣的最後一屆。

回答

1

就總是一個隨機:

$_SESSION['seed'] = rand() ; 

或者檢查最後訪問的網頁:

if (!empty($_SESSION['last_page']) && $_SESSION['last_page'] === $_SERVER['PHP_SELF']){ 
    $_SESSION['seed'] = rand(); 
} else { 
    $_SESSION['last_page'] = $_SERVER['PHP_SELF'] ; 
} 
1

您可以使用unset();刪除會話瓦爾。在每一頁上加載像unset($_SESSION['seed']);或與session_destroy();

其他解決方案的登錄信息,你總能隨機種子與$_SESSION['seed']=rand();

銷燬所有會話