SHU BLOG

BLOG NEWS ブログ

TITLE

【WordPress】関連記事のランダム表示について解説

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!笑

シュウ
シュウ
今回は【WordPress】関連記事のランダム表示について解説!!
の解説になります!

こんな方に読んでほしい

  • WordPressを学び始めた方へ
  • WordPressの関連記事のランダム表示について解説していきます。
  • 今回はWordPressの「関連記事 = rand」について解説しております。

ランダム表示について

ランダム表示について

関連記事のランダム表示とは、記事や実績の詳細に「関連記事」の項目を見たことはありませんか。
通常のメインループは「ランダム」指定がない場合は新着順に表示します。

ループを使い、記事を表示させます。
ループのイメージ図は以下のようになります。

<ul>
	<?php
		$args = array(
		'post_type' => 'post',
		'posts_per_page' => 9,
	); ?>
	<?php $wp_query = new WP_Query( $args ); ?>
	<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
	<li><!--以下省略--></li>
	<?php endwhile; ?>
	<?php wp_reset_postdata(); ?>
</ul>
'post_type' => 'post',

「post」タイプの記事を指定し出力させます。
「post」タイプとは「投稿」の記事になります。

'posts_per_page' => 9,

記事の表示件数を「9」件に指定します。
ここまでが通常のループになります。

randの使い方について

基本的には上記で解説したループ文の「rand」を追加するのみです。
以下のようになります。

<ul>
	<?php
		$args = array(
		'post_type' => 'post',
		'orderby'   => 'rand',
		'posts_per_page' => 9,
	); ?>
	<?php $wp_query = new WP_Query( $args ); ?>
	<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
	<li><!--以下省略--></li>
	<?php endwhile; ?>
	<?php wp_reset_postdata(); ?>
</ul>
'orderby'   => 'rand',

「orderby」とは、投稿の並び順を意味します。
今回は「orderby = rand」、投稿の並び順はランダムにします、と指定します。
記事を更新するたびに関連記事はランダムに表示します。

現在表示している記事は表示させない

例として4の記事を見た際に、関連記事にも4の記事は表示します。
今回は、post__not_inを指定し4の記事を見た際には4以外の記事を表示させます。
以下のようになります。

<ul>
	<?php
		$args = array(
		'post_type' => 'post',
		'orderby'   => 'rand',
		'posts_per_page' => 9,
		'post__not_in' => array($post->ID)
	); ?>
	<?php $wp_query = new WP_Query( $args ); ?>
	<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
	<li><!--以下省略--></li>
	<?php endwhile; ?>
	<?php wp_reset_postdata(); ?>
</ul>
'post__not_in' => array($post->ID)

'post__not_in' => array($post->ID)を追加します。
post__not_inは、現在のIDの投稿は取得しない意味になります。

まとめ

今回はこれで以上です。

POINT
  • WordPress関連記事のランダム表示について解説しました。
  • ランダム表示をする際には'orderby' => 'rand',を指定します。
  • 現在表示している記事は表示させない方法は''post__not_in' => array($post->ID)を指定します。
スポンサーリンク

SHU

1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。

最新記事

関連記事

オススメ記事

月別アーカイブ

page_top