福岡 ワードプレス システム開発 株式会社ジーティーアイ のブログ

WordPressの記事一覧をランダム順で表示する(ページング対応)

WordPressの記事一覧をランダム順で表示する(ページング対応)

WordPressで記事一覧をランダムで表示しようと思った。

(思ったというか、聞かれたw)

えええええどうすんだろ…

目次[閉じる]

こうすればいいんじゃん 第一弾

function set_get_posts_order($query) {
 // 記事一覧なら順番ランダム
 if ( is_home() ) {
   $query->set( 'orderby', 'rand' );
 }
}
add_action('pre_get_posts', 'set_get_posts_order');

これをテーマの functions.php とかに記述すれば…

ページングに対応出来てない…

2ページ目を見ても同じ記事が含まれて表示されている…

orderby => rand が2ページ目であらためて効いてるのかぁーーー

これはまいったw

こうすればいいんじゃん 第二弾

もう2ページ目からランダムにしない作戦!

function set_get_posts_order($query) {
  // 記事一覧なら順番ランダム
  if ( is_home() ) {
    if ( ! is_paged() ) {  // 2ページ目以降はランダムにしない
      $query->set( 'orderby', 'rand' );
    }
  }
}
add_action('pre_get_posts', 'set_get_posts_order');

いやいやいやいや、根本解決してないじゃん。

ってことでいろいろ探るググる、調査する。

そして、こうすればいいんだ!!ということがわかりました!

次のページで…

1 2

この記事をシェアする

記事一覧へ戻る

関連記事 Relation Entry

IP あなたが接続中のIPアドレス:216.73.216.31