wp_get_archives()

wp_get_archives()
目次

wp_get_archives()の用途

wp_get_archives() は、WordPress のアーカイブリンク(投稿の月別・日別・年別・投稿者別・カテゴリ別など)を自動的に一覧表示してくれるテンプレートタグです。

通常はサイドバーなどに設置して「過去記事一覧(月別など)」を表示するために使われます。

wp_get_archives()の基本構文

wp_get_archives( array|string $args = '' )

または短縮記法:

<?php wp_get_archives(); ?><br><br>

主な引数($args の詳細)

パラメータデフォルト説明
typestringmonthlyアーカイブの種類(詳細は下記)
limitint0(制限なし)表示する件数の上限
formatstringhtml出力形式(html, option, link, custom
beforestring<li>各リンクの前に出力されるHTML
afterstring</li>各リンクの後に出力されるHTML
show_post_countboolfalse各アーカイブに投稿数を表示するか
echobooltrue表示する(true)か返す(false)か
orderstringDESC昇順 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>&nbsp;(7)</li>

wp_get_archives()のカスタマイズのポイント

  • カスタム投稿タイプには対応していない → SQL直書き or get_posts() を使った処理が必要
  • 投稿ステータスの制御はできない(公開記事のみ)
  • タイトルやフォーマットに細かく手を加えたい場合は、get_archives_link() を併用するか、完全に独自で出力を構築する

wp_get_archives()のまとめ

メリットデメリット
簡単にアーカイブ一覧を出力できるカスタム投稿や細かい制御には非対応
HTML形式・option形式など柔軟に出力可能出力結果のHTMLカスタマイズには限界がある
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次