如何在每次刷新时更改session_start

时间:2014-06-27 16:47:09

标签: php wordpress

我目前在我的wordpress上使用以下代码随机显示帖子但不重复它们。这与我刷新页面时保持原样不同。更改显示内容的唯一方法是清除缓存和cookie。是否有可能使它在每次刷新时都会发生变化?

这是我的代码:

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;
}

2 个答案:

答案 0 :(得分:1)

删除if条件,在当前情况下 - rand选项仅在会话为空时设置。所以它在第一次工作,即会话没有设置。

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

而不是

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

答案 1 :(得分:0)

你可以试试

session_start();
session_regenerate_id();
echo session_id();

这会在每次刷新时返回唯一的会话ID

相关问题