今回はWordPressの小技を一つご紹介します。WordPressサイトやブログを運営していると、記事をただ並べるだけではなく、もっと工夫して読者に新鮮な情報を提供したいと思う時がありますよね。そんな時に役立つのが、カテゴリーごとにその最新の投稿だけをピックアップして表示する方法です。
WordPressで投稿記事のカテゴリー一覧とカテゴリー毎の最新投稿記事1つを取得して表示する方法をご紹介します。
WordPressを使用したブログで記事の一覧を表示するのは良く見られますが、カテゴリーの一覧かつそのカテゴリー毎の最新記事のみ取得して表示させてみました。
カテゴリー毎の最新記事を魅せるための準備
まずは、固定ページ用のテンプレートを作成しましょう。以下の手順で進めます。
- ファイル名 : page-catlist.php
- Template Name : カテゴリー毎の最新記事TPL
これらをテーマのディレクトリ内に準備します。
PHPファイル(page-catlist.php)の記述は以下の通りです。
<ul>
<?php
$args = array(
'parent' => 0, //親カテゴリー
'orderby' => 'term_order',
'order' => 'ASC'
);
$categories = get_categories( $args ); //カテゴリーリスト情報を取得
foreach( $categories as $category ) :
//カテゴリースラッグを指定して最新の1記事を取得
$data = get_posts('post_type=post&order=DESC&orderby=date&showposts=1&category_name='.$category->category_nicename);
if(isset($data[0])) {
?>
<li style="list-style:none; padding-bottom: 20px;">
<h4><?php echo $category->cat_name; ?></h4>
<a href="<?php echo get_permalink($data[0]->ID); ?>">
<?php echo date('Y.m.d', strtotime($data[0]->post_date)); ?>
<br>
<?php echo $data[0]->post_title; ?>
</a>
</li>
<?php
}//end if
endforeach;
?>
</ul>
この記述によって、WordPressサイト上でカテゴリーごとにその最新の記事を一覧表示できるようになります。
カテゴリー毎の最新投稿記事一覧を取得する固定ページ内の処理フロー
この方法で、以下の流れで情報が表示されます。
- 現在のカテゴリー一覧(親カテゴリーのみ)を取得
- 取得したカテゴリー一覧数分ループ
- カテゴリースラッグを指定し、最新の1記事を取得
- カテゴリー名、最新記事リンク、日付、タイトルを表示
「カテゴリー毎の最新記事一覧」デモページ
実際にこの方法を当サイトで試してみた結果、読者が最新の情報にすぐにアクセスできるようになり、非常に好評でした。
興味がある方は、ぜひ以下のデモページをご覧ください。
まとめ
今回ご紹介した方法で、読者が最新の記事を簡単に見つけられるようになり、ブログの使い勝手が格段に向上します。WordPressを使ったブログ運営において、少しの工夫で大きな差をつけることができます。ぜひこの方法を試して、あなたのブログをさらに魅力的なものにしましょう。
※流用される場合は自己責任でお願いします。