Php 如何在每次刷新时使会话\u开始更改

Php 如何在每次刷新时使会话\u开始更改,php,wordpress,Php,Wordpress,我现在使用下面的代码在我的wordpress上随机显示帖子,但不复制它们。这与我刷新页面时保持原样不同。更改显示内容的唯一方法是清除缓存和cookie。是否可以使其在每次刷新时都发生更改 这是我的密码: session_start(); add_filter('posts_orderby', 'edit_posts_orderby'); function edit_posts_orderby($orderby_statement) { $seed = $_SESSION['seed

我现在使用下面的代码在我的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;
}

在当前情况下,仅当会话为空时,才删除
if
条件-
rand
选项集。使其在第一时间工作,即会话未设置

  $seed = rand();
  $_SESSION['seed'] = $seed;
而不是

if (empty($seed)) {
  $seed = rand();
  $_SESSION['seed'] = $seed;
}
你可以像这样试试

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

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

是否需要向OP解释原因?“这样做”很方便,但不一定能让提问者理解。这会导致它被删除而中断,因为它现在复制了帖子。不要使用会话。如果不希望变量持久化,则无需将其存储在会话中。感谢您的回答,我将如何使用代码实现REGENATE?对不起,我是新来的。