今回は、カスタム投稿の記事ページ(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(); ?>
今回は、以上となります。