[WordPress]ランダム表示のアーカイブページ、ページ送りしたら再シャッフルされて無に帰す問題

最終更新: 2020/10/16/公開: 2020/10/16
この記事は 2020年10月16日 に投稿されました。
内容が古いかもしれません。ご注意ください。
※最後に更新されたのは 2020年10月16日 です。

ページングした後は除外しろよ

ふざけやがって……orderbyをrandにしたら2P目以降でもrandになって1P目にあった項目が再登場したりしたので困りました。

解決法(たぶんいけます)

セッション発行するらしい

まず安定のTeratailから下記。
回答の一番最後にある内容をfunctions.phpへ追記、ただしフィルターフックのタイミングがinitだと早すぎてサイトヘルス画面で怒られます。

[wordpress]記事をランダムにしてページングを実装

https://teratail.com/questions/192647

実行タイミングを遅くする

次に上記セッション発行の動きのタイミングを変えます。同じことになっている方がいたので参考にしました。

記事中にあるフィルターフックのタイミングまとめ記事を参考にします。Qiita内で使っている「template_redirect」のタイミングだとうまいこと動きません。
とりあえず「send_headers」のタイミングに変更したら大丈夫そうでした。

以上です。セッションについてなど補足で調べられていないので場当たり的ですが、、ひとまず備忘録

WordPress でセッションを使うときに色々怒られた件

https://qiita.com/Kazuya_Murakami/items/147831676ac58e3d9262

WordPressの主要なアクションフックが実行される順番を検証してみた

https://wemo.tech/2062