STEP1 関連記事が必要な理由
WordPressで関連記事を表示する方法は「プラグイン」とアドセンスの「関連コンテンツ」がありますが、「プラグイン」はサイト全体のスピードが落ちますし、「関連コンテンツ」は取得するハードルが高いです。
このようなサイトスピードを意識している方は、なるべく自作で実装する必要がありますので、本記事では当ブログでも使用している自作の関連記事を紹介していこうと思います。
STEP2 画像のような関連記事を作る

関連記事を表示させるのは、記事ページだと思いますのでsingle.phpの本文のしたあたりに下記のコードをコピペしましょう。
<!-- 関連記事 -->
<?php if(has_category() ) {
$catlist =get_the_category();
$category = array();
foreach($catlist as $cat){
$category[] = $cat->term_id;
}}
?>
<?php $args = array(
'post_type' => 'post',
'posts_per_page' => '8', //表示させたい記事数
'post__not_in' =>array( $post->ID ), //現在の記事は含めない
'category__in' => $category, //先ほど取得したカテゴリー内の記事
'orderby' => 'rand' //ランダムで取得
);
$related_query = new WP_Query( $args );?>
<aside class="related_post">
<h3>関連記事</h3>
<ul class="related_post_container">
<?php while ( $related_query->have_posts() ) : $related_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>">
<!-- アイキャッチ表示 -->
<div class="related_thumb"><?php the_post_thumbnail('medium'); ?></div>
<!-- タイトル表示 -->
<p class="related_title"><?php the_title(); ?></p>
</a>
</li>
<?php endwhile; ?>
<?php wp_reset_postdata(); //最後に記事のリセット?>
</ul>
</aside>
①記事と同じカテゴリーの記事を取得
<?php if(has_category() ) {
$catlist =get_the_category();
$category = array();
foreach($catlist as $cat){
$category[] = $cat->term_id;
}}
?>
get_the_categoryで記事のカテゴリーを取得して、そのカテゴリーの全記事を配列で取得します。
②ランダムで8記事を取得する
<?php $args = array(
'post_type' => 'post',
'posts_per_page' => '8', //表示させたい記事数
'post__not_in' =>array( $post->ID ), //現在の記事は含めない
'category__in' => $category, //先ほど取得したカテゴリー内の記事
'orderby' => 'rand' //ランダムで取得
);
$related_query = new WP_Query( $args );?>
先ほど取得した、カテゴリーの記事(変数category)を使って、同カテゴリーからランダムで8記事取得します。記事数は自由に変更できますので、4記事にしたい場合は8の部分を4に変更すればOKです。
③記事を表示させる
have_posts() ) : $related_query->the_post(); ?>