年別の一覧リストを作ってそれぞれの一覧ページにリンクを付けたい!
というわけで今回は年別一覧リストの作成方法についてお話します。
実案件でも年別や月別の一覧はよく使用されますので是非覚えて行きましょう!
wp_get_archives を使う
年別や月別の一覧リストを作成するにはwp_get_archivesを使用します。
年別・月別・日別全てこの関数で完結します。渡すパラメータで使い分けします。
使用例
では、私が実際に使用したコードを見てましょう。
<ul class="side_wrap">
<?php
$args = [
'type' => 'yearly',
'format' => 'custom',
'before' => '<li><p><i class="fa-solid fa-caret-right"></i>',
'after' => '</p></li>',
'show_post_count' => 0,
'post_type' => 'active-report'
];
?>
<?php wp_get_archives($args); ?>
</ul>
色々パラメータを指定していますね。
パラメータ
キーワード | 省略時の値 | 意味 |
type | ‘monthly’ | アーカイブ種別(‘daily’,’weekly’,’monthly’,’yearly’,’postbypost’,’alpha’) |
limit | ” | 表示件数(正数) |
format | ‘html’ | 表示形式を指定(’html’、’link’、’option’、’custom’など) |
before | ” | リンク名の前に連結する文字列 |
after | ” | リンク名の後に連結する文字列 |
show_post_count | false | 投稿件数を表示する場合はtrue、表示しない場合はfalse |
echo | 1 | 表示する場合は1、文字列として取得する場合は0 |
order | ‘DESC’ | 降順は’DESC’、昇順は’ASC’を指定 |
post_type | ‘post’ | 投稿タイプを指定 |
year | get_query_var(‘year’) | 年を指定 |
monthnum | get_query_var(‘monthnum’) | 月(1~12)を指定 |
day | get_query_var(‘day’) | 日(1~31)を指定 |
w | get_query_var(‘w’) | 曜日(1~53)を指定 |
私が実案件でよく使うパラメータは、
- type
- limit
- format
- before
- after
- show_post_count
- post_type
となります。順番に説明していきましょう!
type
これはリストを年別か?月別か?日別か?を指定するパラメータです。
年別⇒’yearly’
月別⇒’monthly’
日別⇒’daily’
という指定になります。今回は年別なので’yearly’を指定してますね!
ちなみに’alpha’を指定するとすべての記事をアルファベット順に表記するようです。
日本ではあんまり使わなそうですね・・・
limit
一覧リストを何件まで表示するかを指定できます。
パラメータに記載しないと無限に表示してくれます。
format,before,after
<a>タグをどうやってくくるかを指定できます。
今回の例だと、こうやっています↓
'format' => 'custom',
'before' => '<li><p><i class="fa-solid fa-caret-right"></i>',
'after' => '</p></li>',
formatを指定しないと<li>で囲われ、「・」が年表記の左にきます。
今回は「‣」を表記したかったのでformatに’custom’を指定して
beforeに開始タグ、afterに閉じタグを指定しています。
今回のように、font awesomeも指定することができます。
show_post_count
リストの横に投稿件数を表示します。こんな感じ↓
今回は‘show_post_count’ => 0 にしてますので表記なしになります。
post_type
投稿タイプを指定します。
今回はカスタム投稿でしたので、そのスラッグである「active-report」を指定しています。
表示されるアーカイブページについて
今回の年別リストのリンク先は、テンプレート階層図によると
「date.php」⇒「archive.php」となります。
しかし、カスタム投稿の場合は「date.php」は適用されません。
適用させるプラグインもあるようなので良かったらご確認ください。
※参考サイト⇒~$YUKI.WORLD 様
まとめ
というわけで今回は、年別一覧リストの作成方法についてお話ししました!
実案件でもよく出ますのでしっかり理解していきましょう!!