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;
}
上記のコードを functions.php に追加すると、カテゴリ ページの記事がランダム順で並び、なおかつ、ページを切り替えても記事が重複して表示されることはありません。