【WordPress】プラグインなしで同じタームの関連記事を表示させる方法

今回は、カスタム投稿の記事ページ(single.php)で、同じタームに属する関連記事を表示させる方法をご紹介します。

 

関連記事を表示させる最大のメリットは、
ユーザーに多くの記事を読んでもらえる可能性が高くなることです。

 

「読むつもりはなかったけど、気になったから読んでしまった。」という経験があると思います。
身近な例で言えば、You Tube がイメージしやすいですね!

 

先述した、「ユーザーに多くの記事を読んでもらえる可能性が高くなる」ことによって、あなたのサービスや商品に触れる機会が増え、結果的にコンバージョンのUPにつなげることができます。

 

前置きはこの辺りにして、早速サンプルのコードを記載しますね!

プラグインなしで同じタームの関連記事を表示させる方法

カスタム投稿タイプのスラッグ : 「news」
カスタムタクソノミーのスラッグ : 「cat_news」

という前提で解説しますね!

<?php
  $terms = get_the_terms($post->ID, 'cat_news'); // ① カスタムタクソノミーのスラッグ
  foreach($terms as $term) {
    $term_slug = $term->slug;
  }
  $args = array(
    'post__not_in' => array($post->ID),
    'post_type' => 'news', // ② カスタム投稿タイプのスラッグ
    'posts_per_page' => 4, // ③ 表示件数
    'orderby' => 'rand',
    'tax_query' => array(
      array(
        'taxonomy' => 'cat_news', // ① カスタムタクソノミーのスラッグ
        'field' => 'slug',
        'terms' => $term_slug
      )
    )
  );
  $the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()): ?>
  <?php while($the_query->have_posts()): $the_query->the_post(); ?>

    <!-- 繰り返し処理する内容 -->

  <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

 

書き換えが必要な箇所は、以下になります。

① カスタムタクソノミーのスラッグ × 2箇所

② カスタム投稿タイプのスラッグ

③ 表示件数

 

コピペ用

記事ページ(single.php)の下部辺りに設置してください。

<?php
  $terms = get_the_terms($post->ID, 'カスタムタクソノミーのスラッグ');
  foreach($terms as $term) {
    $term_slug = $term->slug;
  }
  $args = array(
    'post__not_in' => array($post->ID),
    'post_type' => 'カスタム投稿タイプのスラッグ',
    'posts_per_page' => 表示件数,
    'orderby' => 'rand',
    'tax_query' => array(
      array(
        'taxonomy' => 'カスタムタクソノミーのスラッグ',
        'field' => 'slug',
        'terms' => $term_slug
      )
    )
  );
  $the_query = new WP_Query($args);
?>
<?php if($the_query->have_posts()): ?>
  <?php while($the_query->have_posts()): $the_query->the_post(); ?>

    <!-- 繰り返し処理する内容 -->

  <?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_postdata(); ?>

 

今回は、以上となります。

SNSでもご購読できます。

コメントを残す

前の記事

次の記事