WPテーマで投稿をランダムな順に表示したい場合のコードを紹介します。
実際のコードを見てみる
<?php
$paged = get_query_var('paged'); //ページ数を取得
$arg = array(
'post_type' => 'post',
'posts_per_page' => 10,
'paged' => $paged,
'orderby' => 'rand', //←このコードで記事をランダム表示する
);
$my_query = new WP_Query($arg);
if($my_query->have_posts()):
?>
<?php while($my_query->have_posts()) : $my_query->the_post(); ?>
<!-- △ ループ中身 △ -->
<?php endwhile; ?>
<?php else: // 投稿がない場合?>
<p>まだ投稿がありません。</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
今回の該当コードは
'orderby' => 'rand', //←このコードで記事をランダム表示する
こちらになります。このコードを追加することでランダム表示が可能になります。
‘post_type’や’posts_per_page’などは適当に入れてますので、サイトに合わせて変更してください。
他の’orderby’のパラメータも確認しよう
‘none’ | 順序をつけない |
‘ID’ | 投稿IDで並び替え |
‘author’ | 著者で並び替え |
‘title’ | タイトルで並び替え |
‘date’ | 日付で並び替え |
‘modified’ | 更新日で並び替え |
‘parent’ | 投稿/固定ページの親ID順で並び替え |
‘rand’ | ランダムで並び替え |
‘comment_count’ | コメント数で並び替え |
‘menu_order’ | 管理画面上の表示順で並び替え。 固定ページやカスタム投稿の並び替えプラグインなどで使われる値。(各ページのデフォルト値は 0 ) |
‘meta_value’ | カスタムフィールドの値で並び替え。'meta_key=keyname' がクエリに存在しなければいけません。ソート順は文字列順になることに注意。 |
‘meta_value_num’ | カスタムフィールドを数値順で並び替え。'meta_key=keyname' がクエリに存在しなければいけません。 |
まとめ
今回はWordPressテーマの投稿をランダムに表示する方法を紹介しました。ふとしたタイミングで使えることもあるので、頭の片隅にでも置いておきましょう。
コーディングの実装でお困りの場合は https://coding-shop.net/contact/ こちらよりお問い合わせください。
またコーディングの委託など、お仕事に関するお問い合わせも上記リンクよりお気軽にご連絡ください。