---
title: "wp_get_archives() &#8211; アーカイブリンクを表示する関数"
canonical_url: "https://olein-design.com/blog/wp_get_archives"
language: "ja"
date_published: "2024-05-14T23:32:38+09:00"
date_modified: "2024-05-14T23:32:39+09:00"
content_type: "post"
author: "久野晃司"
taxonomies:
  category:
    - "WordPress"
  post_tag:
    - "General Template Tag"
    - "WordPress functions"
---

# wp_get_archives() &#8211; アーカイブリンクを表示する関数

`wp_get_archives()` は、アーカイブリンクを表示する関数です。

目次

## wp_get_archives() 関数とは

アーカイブリンクを表示する関数です。`$args['echo']` が `1|true` ならばアーカイブリンクを表示し、`0|false` ならばその文字列を取得します。

## パラメーター

`$args` は以下のような値を配列で持つことができます。

| `$args` | アーカイブリンクの引数 |
| --- | --- |

### type

取得するアーカイブの種類を指定します。`daily` `weekly` `yearly` `postbypost` `alpha` のいずれかを指定可能。`postbypost` と `alpha` はどちらも同じアーカイブのリンクリストを表示し、日付を表示する代わりに投稿タイトルを表示します。両者の違いは `alpha` は投稿タイトル順、 `postbypost` は投稿日順であることです。

デフォルトは `monthly`

### limit

リンクの表示数。デフォルトは空（制限なし）。

### format

`$before` と `$after` を通じてリンクの書式を指定します。

`link` （`<link>` タグ）、`option` （`<option>` タグ）、`html` （`<li>` タグ）あるいは独自の書式を指定することができます。

デフォルトは `html`

### before

各リンクの始めに追加するマークアップを指定します。

### after

各リンクの後に追加するマークアップを指定します。

### show_post_count

リンクと一緒に投稿件数を表示するかどうかを指定します。デフォルトは `false`

### echo

リンクを出力する場合は `1|true` 、文字列を取得したい場合は `0|false` を指定する。

### order

昇順か降順かを指定する。`ASC` または `DESC` を受け付ける。デフォルトは `DESC`

### post_type

投稿タイプを指定する。デフォルトは `post`

### year

年を指定。デフォルトは現在の年。

### monthnum

月を指定。デフォルトは現在の月。

### day

日を指定。デフォルトは現在の日。

### w

週を指定。デフォルトは現在の週。

## 使い方

基本的な使い方は以下のように単純に関数を記述することでしょう。

```
wp_get_archives();
```

この場合、出力はいかのようになります。

```
<li><a href="http://wordpress-dev.wp/2024/05/">2024年5月</a></li>
```

この `<li><a href=" ... </a></li>` が存在するだけ出力されます。デフォルトではこのような出力になりますが、パラメーターをさまざま指定することで、出力結果をコントロールすることができます。

例えば、前後に `<select>` タグを用意し、`format` を `option` にすることでセレクトボックスにすることができます。

```
<select name="hoge" id="hoge">
	<?php wp_get_archives(
			array(
				'format' => 'option',
			)
	); ?>
</select>
```

他にもさまざまなパラメーターを設定することでいろんなことができます。

## フック

### getarchives_join

```
apply_filters( ‘getarchives_join’, string $sql_join, array $parsed_args )
```

getarchives_where フィルターの実行直後に実行されるフィルター

### getarchives_where

```
apply_filters( ‘getarchives_where’, string $sql_where, array $parsed_args )
```

検索を行う直前に実行されるフィルター

### the_title

```
apply_filters( ‘the_title’, string $post_title, int $post_id )
```

投稿タイトルに対するフィルター

## まとめ

公式ドキュメントの Uses を確認してみると、とても多くの関数で利用されていることがわかります。また、関数内部のソースコードを確認するととても学びがあるのでぜひ読んでみてください。

[埋め込みコンテンツ](https://developer.wordpress.org/reference/functions/wp_get_archives)
