目次
標準のテンプレートタグでは「月別」表示となる
WordPressで構築されたサイトの場合、例えばサイドバーにアーカイブリストを表示したいケースが多々あります。
以下のテンプレートタグを使うことでそれは簡単に実現します。
記述コード
<ul>
<?php wp_get_archives(); ?>
</ul>
ただしその場合、表示されるのは「XXXX年XX月」といった、下記のような月別のアーカイブになります。
出力結果
<ul>
<li><a href="http://example.com/archives/date/2023/12">2023年12月</a></li>
<li><a href="http://example.com/archives/date/2021/08">2023年11月</a></li>
<li><a href="http://example.com/archives/date/2021/07">2023年10月</a></li>
</ul>
よく紹介されるオーソドックスな方法ですが、運用年月が長いと何十行もの表示になってしまい、実用的ではないケースも多いです。
実際に企業サイト等ではお知らせアーカイブとして見せる実装が多いのですが、出来れば「年月別」ではなくて、「年別」にしたいケースがほとんど。
「年別」表示にする方法
というわけで、私がよく使うパターンは次のとおりです。
おおよそサイトバーなんかに設置することが多く、リストタグ形式で出力しています。
記述コード
<ul>
<?php
$args = array(
'type' => 'yearly',
'format' => 'custom',
'before' => '<li>',
'after' => '</li>',
'show_post_count' => 0,
'post_type' => 'post'
);
?>
<?php wp_get_archives($args); ?>
</ul>
出力結果
<ul>
<li><a href="http://example.com/archives/date/2023">2023</a></li>
<li><a href="http://example.com/archives/date/2022">2022</a></li>
<li><a href="http://example.com/archives/date/2021">2021</a></li>
</ul>