Help us understand the problem. What is going on with this article?

[Wordpress]特定のカテゴリーで年ごとに記事一覧を表示する方法

More than 5 years have passed since last update.

前回の記事で月別もしくは年別のアーカイブ(例 2015、2014、2013...)を表示する方法を紹介していますが、今回は年+記事という形式のアーカイブを表示する方法になります。

表示イメージ

  • 2015年

    • 日付
      記事の内容
    • 日付
      記事の内容
    • 日付
      記事の内容
  • 2014年

    • 日付
      記事の内容
    • 日付
      記事の内容
    • 日付
      記事の内容
  • 2013年

    • 日付
      記事の内容
    • 日付
      記事の内容
    • 日付
      記事の内容

会社のウェブサイトであれば「沿革」、アーティストさんのウェブサイトであれば「リリース情報」などに使えるのではないでしょうか。

コード

テンプレートファイルに以下のコードを記入します。

<?php
    // 出力する内容を設定
    function archiveFunc($year){
        query_posts('category_name=[カテゴリースラッグ]&posts_per_page=-1&year='.$year.'&order=ASC');
        // category_name=history などスラッグを記入
        //posts_per_page は表示する記事数(-1は無制限)

        if(have_posts()) : 
?>
<dl>
    <dt><?php echo $year; ?> 年</dt>
<?php while(have_posts()) : the_post(); ?>
    <dd>
        <div class="date"><?php the_time('n/j'); ?></div>
        <div class="content"><?php the_content(); ?></div>
    </dd>
<?php endwhile; ?>
</dl>
<?php   endif;
        wp_reset_query();
}

    $thisyear = date('Y'); // 現在の西暦年を取得

    for ($year=$thisyear; $year >= 2000; $year--) { 
        // $year >= で指定した年から現在の年までの記事を出力(例では2000年から現在まで)

        archiveFunc($year);
    }
?>

以上です。

上記で設定した関数「archiveFunc()」の詳しい使い方はこちらで以下のページでご確認ください。
https://ja.forums.wordpress.org/topic/1564

noqua
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away