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

# get_archives_link() &#8211; アーカイブリンクを取得する関数

`get_archives_link()` 関数は情報に基づいてアーカイブリンクを取得する関数です。

目次

## get_archives_link() 関数とは

フォーマットは以下の４つのいずれかになります。

1. `<head>` 内で使用する `link`
2. `<select>` 内で使用する `option`
3. リストで使用する `html`
4. 説明の前後に任意の要素を出力するカスタムコンテンツ

`link` フォーマットではアーカイブの関係で `<link>` を使用します。`$before` や `$after` のパラメーターは使用されません。`$text` パラメーターはリンクの説明に利用されます。

`option` フォーマットは `<select>` 要素で `<option>` を使用します。値は `$url` パラメーターを使用し、`$before` や `$after` も利用できます。

デフォルトの `html` フォーマットは、リスト形式で HTML を出力します。`$before` はリンク `<a>` の前に、`$after` はリンク `</a>` の後に使用します。

上記３つのフォーマットを使用しない場合は、カスタムフォーマットとみなされます。

## パラメーター

| `$url` | アーカイブへの URL を設定 |
| --- | --- |
| `$text` | アーカイブ説明テキストを設定 |
| `$format` | `link` `option` `html` が指定可能<br>指定がない場合はカスタムとみなされる<br>デフォルトは `html` |
| `$before` | 説明の前に挿入されるコンテンツを設定 |
| `$after` | 説明の後に挿入されるコンテンツを設定 |
| `$selected` | 現在のページが詮索されたアーカイブページである場合 `true` が設定される<br>デフォルトでは `false` |

## 使い方

試験的にこのように記述するとアーカイブリンクを出力することができます。（フォーマットは空にしてあります。よってカスタムと認識されます。）

```
echo get_archives_link( 'https://sample.com/archive-url', 'アーカイブです', '', '', '' );

// 出力結果
<a href="https://sample.com/archive-url">アーカイブです</a>
```

フォーマットを `link` に変更すると、以下のような結果を得られます。

```
echo get_archives_link( 'https://sample.com/archive-url', 'アーカイブです', 'link', '', '' );

// 出力結果
<link rel="archives" title="アーカイブです" href="https://sample.com/archive-url">
```

フォーマットを `option` に変更すると、以下のような結果を得られます。

```
echo get_archives_link( 'https://sample.com/archive-url', 'アーカイブです', 'option', '', '' );

// 出力結果
<option value="https://sample.com/archive-url"> アーカイブです </option>
```

フォーマットを `html` に変更すると、以下のような結果を得られます。

```
echo get_archives_link( 'https://sample.com/archive-url', 'アーカイブです', 'html', '', '' );

// 出力結果
<li><a href="https://sample.com/archive-url">アーカイブです</a></li>
```

## フック

### get_archives_link

```
apply_filters( ‘get_archives_link’, string $link_html, string $url, string $text, string $format, string $before, string $after, bool $selected )
```

アーカイブリンクコンテンツにフィルターすることができます。このようなコードで試すことができます。

```
add_filter(
	'get_archives_link',
	function ( $link_html, $url, $text, $format, $before ) {
		echo '<hr>' . basename(__FILE__) . ' :: ' . __LINE__;
		echo( '<pre>' );
		var_dump( $link_html );
		echo( '</pre>' );
		echo '<hr>';

		return $link_html;
	},
	10,
	5
);
```

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