例えばカテゴリ ページの記事をランダム順に表示したい場合、クエリを呼び出す際に orderby に rand を指定します。検索すると沢山でてくる。でも、この方法には欠陥があります。なんてことだ! 2ページ目以降も全記事からランダムなので、確率的に 1ページ目と同じ記事が表示されるのです。こうした気持ち悪い実装は、検証せずに公開しているのか、「ランダムには違いないだろう?」の確信犯なのか分かりませんが、どちらにせよ良くないですね。よくないよ。本稿では、ランダムの理に適った実装を目指します。 特定の条件下でランダムのシードを固定する 細かい話はあとにして、解決策を載せます。 function category_rand_orderby( $orderby, $query ){ if ( !is_admin() && $query->is_main_query() ) { if ( $quer