ワードプレスで関連記事を表示したいときは、ぶっちゃけプラグインの方が楽だったります。多少、システムの理解とデザイン的縛りなどがあるので、使いたいけど使いにくいことも。
だったら、自分で表示させてしまえばいいじゃない!
今回は、ワードプレスのカテゴリー機能を使った関連記事の表示方法(プラグイン無し)をご紹介。
プラグイン無しなので仕組みは簡単、記事ページ(single.php)で表示されている記事のカテゴリーを読み取って、同じカテゴリーの記事をランダムに出力するというもの。
ソースコードは下記。
<?php
// カテゴリーが複数設定されている場合は、どれかをランダムに取得
$categories = wp_get_post_categories($post->ID, array('orderby'=>'rand'));
//表示したい記事要素を設定
if ($categories) {
$args = array(
'category__in' => array($categories[0]), // カテゴリーのIDで記事を取得
'post__not_in' => array($post->ID), // 表示している記事は除外する
'showposts'=>3, // 取得したい記事数
'caller_get_posts'=>1, // 取得した記事を1番目から表示する
'orderby'=> 'rand' // ランダムで取得する
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) { $my_query->the_post();
?>
<div class="">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
</div>
<?php } wp_reset_query();
} else { ?>
<p class="no-related">関連記事なかばい</p>
<?php } } ?>
上記のソースコードを、single.phpにバーンっと貼り付ければ、表示中の記事と同じカテゴリーの記事をランダムに取得して表示してくれるはずです!同カテゴリーに記事がなければ「関連記事なかばい」と表示されます。
リロードする度に記事が入れ替わるのだけはご愛嬌です。
記事出力部分で自由にCSSもつけられるのでデザインのカスタムも自由!お好みのデザインで関連記事を表示させてやりましょう!記事の内容まで考慮した関連記事の出力はプラグインを使わないと大規模な作業が必要になるのでプラグインに任せましょう!YARPPとか便利です(DB設定とかあるから迷うけど)
今回は簡単に似た記事(関連記事)を表示したい場合の方法でした!