在wordpress关闭会话

时间:2013-09-30 19:58:30

标签: php session 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,我想发帖是随机的,与上次会话不一样。

2 个答案:

答案 0 :(得分: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 :(得分:1)

您可以使用unset();删除会话变量。在每个页面重新加载unset($_SESSION['seed']);或使用session_destroy();

的登录信息销毁所有会话

另一种解决方案是,您始终可以使用$_SESSION['seed']=rand();

制作随机种子