日本語
サポート
サポート » 使い方全般 » 検索結果をランダムに
(@aaaa2018)
6年前
お世話になります。 検索結果をランダムに表示させるにはどうしたらいいでしょうか。
(@gblsm)
下記ページに書かれているコードから選んで組み合わせるとできそうです。 pre_get_posts アクションに、自作関数をフックする方法です。
https://thewppress.com/libraries/change-sort-order-of-the-main-loop/
並び順を制御するための主なパラメータ rand ランダムで並び替える
$query->is_category()はカテゴリーページ、$query->is_search()は検索結果ページかどうかを判定する関数です。
リンク先の方法を試してみたところ、できました! ありがとうございました!
すみません、もうひとつ。 ランダム表示で重複しないようにするにはどうしたらよいでしょうか。
ページネーションしてあって、1ページ目に出てきたものが2ページ目以降に重複して出てくる、ですか?
追記: その場合、下記ページの方法が役に立つみたいです。
1時間はランダム順を固定する(1時間毎に新しいランダム順) http://designhack.slashlab.net/wordpress-how-to-posts-orderby-random-and-paging/
セッション変数を使ってランダム順を固定する https://qiita.com/glostuan/items/6383af6a1887be07d64b
上の方法でなんとかできそうです ありがとうございました!