どうも、SABURO DESIGNのサブロー(@saburo_design)です。
以前いま見ている記事と同じカテゴリーの人気記事一覧を実現させる為にプラグインを使いサイドバーに実装した記事を書きました。
WordPressで今見ている記事と同じカテゴリーの人気記事を表示するプラグイン「WPP Plus Widget」の使い方
検索流入のユーザーを意識した施策でしたが、今回も同じような理由で今見ている記事と同じカテゴリーの記事一覧を新着順に出力するコードを紹介したいと思います。
前回は人気記事一覧でしたが今回は新着記事一覧です。人気記事を出力するのと違いプラグインを使わずコードをコピペするだけでできるので簡単に実現できました。
今見ている記事と同じカテゴリーの記事一覧を新着順に出力するコード
今見ている記事と同じカテゴリーの記事を新着順に出力させるにあたり、下記のサイトを参考にさせて頂きました。ありがとうございます。
http://techmemo.biz/wordpress/samecategory-newpost-list/
こんな感じのコードで実現できます。私はこのコードをブログのサイドバーに設置しました。
<h3><?php the_category(' | '); ?>の最新記事</h3>
<?php
$post_id = get_the_ID();
foreach((get_the_category()) as $cat) {
$cat_id = $cat->cat_ID ;
break ;
}
query_posts(
array(
'cat' => $cat_id,
'showposts' => 5,
'post__not_in' => array($post_id)
)
);
if(have_posts()) :
?>
<ul>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); ?>
今見ている記事は一覧から除外してくれるので私がやりたかった事がそのまま実現できました。上記のコードでは記事のタイトルだけリンク付きで出力していますが、ブログのサイドバーのレイアウトに合うようにサムネイルやカテゴリー名を表示させたりちょっと修正を加えて完成しました。