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ではなくて投稿スラッグを指定して表示させたい場合は以前書いた以下の記事をどうぞ。

関連記事

  1. WordPress

    Google XML SitemapsプラグインでWordPressにサイトマップ作成

    WordPressにはロボット向けのXMLサイトマップを自動生成してく…

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

    WordPress

    WordPressで投稿スラッグを指定して特定の記事だけを表示させる関数を作ってみた

    意外と使う機会があるのでメモがてらご紹介します。WordPressで特…

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

    WordPress

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

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

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

    WordPress

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

    WordPressでログイン中に上部ツールバーを表示または非表示にする…

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

    WordPress

    WordPressウィジェット内でPHPコードが使用できるプラグイン「PHP Code Widget…

    個人的にとてもうれしいプラグインを発見したので備忘録がてらメモしておき…

最近の記事

  1. ブラジルイパネマ
  2. 梅しば
  3. BM-IBCDH13RD
  4. 雪
  5. ホットのドリップ

アーカイブ

PAGE TOP