WordPressで投稿IDを指定した記事をランダム表示

WordPress

WordPressで複数の投稿ID(記事ID)を指定した記事をランダムで表示させるやり方

個人的にやってみたかったので備忘録。WordPressで自分が作った関数の引数に複数の投稿ID(記事ID)を指定して、その記事たちをランダム順に並べて表示させるやり方です。投稿IDを変えるだけで表示される記事も変わるので管理が楽になります。

[ads_center]

WP_Queryを使うやり方

やり方は、WP_Queryを使って投稿IDの配列から新しくループを作成していきます。$post_idsに自分が表示したい記事の投稿IDを指定するようにします。

自分で作ったループを初期状態に戻すために、wp_reset_postdata()も忘れずに記述しておきます。

function post_id_random($post_ids) {
    $args = array(
        'post__in' => $post_ids,
        'orderby' => 'rand'
    );
    $post_ids_query = new WP_Query($args);

    if($post_ids_query->have_posts()) {
        while($post_ids_query->have_posts()) {
            $post_ids_query->the_post();
            echo '<ul>';
            echo '<li><a href="';
            echo the_permalink();
            echo '">';
            echo the_title();
            echo '</a></li>';
            echo '</ul>';
        }
        wp_reset_postdata();
    } else {
        echo '<p>該当記事がない場合はここが表示</p>';
    }
}

そして、表示したい場所に以下のように記述します。ここでは、例として「10, 11, 12」の投稿IDを指定しています。

$post_ids = array(10,11,12);
post_id_random($post_ids);

これで、投稿IDが10、11、12の3つの記事をランダムの順番で並べて表示させることができます。

これがどういった時に役立つのかというと、例えばオススメ記事として自分が見せたい記事を複数並べたい、なんて時に使えます。ちょっと変更したくなったら投稿IDを変えるだけなので比較的管理も楽になるはずです。

以下のサイトが参考になりました。

ちなみに、投稿IDではなくて投稿スラッグを指定して表示させたい場合は以前書いた以下の記事をどうぞ。

WordPressのログイン時のツールバーWordPressでログイン中に上部ツールバーを表示・非表示にする設定方法前のページ

背景に複数の画像を設定してパララックスのスクロールを実装できるjQueryプラグイン「qpScroll」次のページqpScroll

関連記事

  1. ベストなWordPressテーマ集

    WordPress

    無料&有料のベストなWordPressテーマ集(2014年8月)

    ベストなWordPressテーマ集(無料&有料、2014年8月)「Be…

  2. WordPressのログイン時のツールバー

    WordPress

    ブログなどでFlickrの転載可能な画像を使用する時のクレジット表示するためのWordPressショ…

    ブログなどでコンテンツに関連した画像を挿入したいといったことがあるかと…

  3. WordPressの管理画面が崩れた時の対処方法

    WordPress

    ローカルのWordPressをアップデートしたら管理画面が崩れていたのでその対処方法

    久しぶりにローカルのWordPressを弄っていたんですが、最新版にア…

  4. WordPress

    記事コピー防止策になるかもしれないWordPressプラグイン「RSS Footer」

    RSS FooterというWordPressのプラグインなんですが、こ…

  5. WordPress

    WordPressで特定の記事やページにカスタムフィールドで指定したCSS・JSファイルを読み込む

    個人的に今後ちょっと使いそうな機能だったのでメモがてらエントリー。Wo…

  6. WordPress

    WordPressで「この記事の所要時間」という読了時間を表示させてくれるプラグイン「estimat…

    とても便利なWordPressのプラグインを発見したので備忘録です。よ…

最近の記事

  1. 冬用のふとん
  2. 田沢湖
  3. ゴムの耳栓
  4. ライオンコーヒー(バニラマカダミア)
PAGE TOP