カテゴリー毎の最新投稿記事一覧を取得する方法【WordPressプラグイン無し】

カテゴリー毎の最新投稿記事一覧を取得する方法【WordPressプラグイン無し】

WordPressで投稿記事のカテゴリー一覧とカテゴリー毎の最新投稿記事1つを取得して表示する方法です。
WordPressを使用したブログで記事の一覧を表示するのは良く見られますが、カテゴリーの一覧かつそのカテゴリー毎の最新記事を取得して表示させてみました。

固定ページの記述

固定ページ用のテンプレート

ファイル名 : page-catlist.php
Template Name : カテゴリー毎の最新記事TPL

を用意して以下の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>

固定ページ内の処理フロー

1.現在のカテゴリー一覧(親カテゴリーのみ)を取得

2.取得したカテゴリー一覧数分ループ

3.カテゴリースラッグを指定し、最新の1記事を取得

4.カテゴリー名、最新記事リンク、日付、タイトルを表示

 

※本サイトで試してみました。表示結果は以下の通りです。
カテゴリー毎の最新記事一覧

 

※流用される場合は自己責任でお願いします。