
目次
wp_get_archives()の用途
wp_get_archives()
は、WordPress のアーカイブリンク(投稿の月別・日別・年別・投稿者別・カテゴリ別など)を自動的に一覧表示してくれるテンプレートタグです。
通常はサイドバーなどに設置して「過去記事一覧(月別など)」を表示するために使われます。
wp_get_archives()の基本構文
wp_get_archives( array|string $args = '' )
または短縮記法:
<?php wp_get_archives(); ?><br><br>
主な引数($args の詳細)
パラメータ | 型 | デフォルト | 説明 |
---|---|---|---|
type | string | monthly | アーカイブの種類(詳細は下記) |
limit | int | 0(制限なし) | 表示する件数の上限 |
format | string | html | 出力形式(html , option , link , custom ) |
before | string | <li> | 各リンクの前に出力されるHTML |
after | string | </li> | 各リンクの後に出力されるHTML |
show_post_count | bool | false | 各アーカイブに投稿数を表示するか |
echo | bool | true | 表示する(true)か返す(false)か |
order | string | DESC | 昇順 ASC または 降順 DESC |
type
の種類(表示形式)
値 | 説明 | 使用例 |
---|---|---|
monthly | 月別アーカイブ | 2025年6月 (12) |
yearly | 年別アーカイブ | 2025年 (144) |
daily | 日別アーカイブ | 2025年6月25日 (5) |
weekly | 週別アーカイブ | 2025年 第25週 (7) |
postbypost | 投稿一覧(タイトルリンク) | 各投稿タイトルがリスト表示される |
alpha | 投稿一覧(タイトルのアルファベット順) | タイトル順に並ぶ |
author | 投稿者別アーカイブ(※非推奨) | 作者名ごとの一覧表示 |
wp_get_archives()の使用例
1. 月別アーカイブ一覧(HTMLリスト)
<?php wp_get_archives(); ?>
これは次のようなHTMLを出力します:
<li><a href="/2025/06/">2025年6月</a></li>
<li><a href="/2025/05/">2025年5月</a></li>
...
2. 投稿タイトル一覧(postbypost)
<?php wp_get_archives( array(
'type' => 'postbypost',
'limit' => 10,
'show_post_count' => true,
) ); ?>
3. セレクトボックス形式(option)
<select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
<option value=""><?php echo esc_attr(__('Select Month')); ?></option>
<?php wp_get_archives(array(
'type' => 'monthly',
'format' => 'option',
'show_post_count' => 1
)); ?>
</select>
custom
フォーマットと get_archives_link()
wp_get_archives(array(
'type' => 'monthly',
'format' => 'custom',
'before' => '<div class="my-archive">',
'after' => '</div>'
));
このようにすると get_archives_link()
を内部で使用し、リンクのみの出力が可能になります。
出力せずに変数として取得したい場合
$archives = wp_get_archives(array(
'type' => 'monthly',
'echo' => false
));
echo '<ul>' . $archives . '</ul>';
wp_get_archives()の出力例(show_post_count
を有効にした場合)
<li><a href="/2025/06/">2025年6月</a> (7)</li>
wp_get_archives()のカスタマイズのポイント
- カスタム投稿タイプには対応していない → SQL直書き or
get_posts()
を使った処理が必要 - 投稿ステータスの制御はできない(公開記事のみ)
- タイトルやフォーマットに細かく手を加えたい場合は、
get_archives_link()
を併用するか、完全に独自で出力を構築する
wp_get_archives()のまとめ
メリット | デメリット |
---|---|
簡単にアーカイブ一覧を出力できる | カスタム投稿や細かい制御には非対応 |
HTML形式・option形式など柔軟に出力可能 | 出力結果のHTMLカスタマイズには限界がある |