get_archives_link()
関数は情報に基づいてアーカイブリンクを取得する関数です。
get_archives_link() 関数とは
フォーマットは以下の4つのいずれかになります。
<head>
内で使用するlink
<select>
内で使用するoption
- リストで使用する
html
- 説明の前後に任意の要素を出力するカスタムコンテンツ
link
フォーマットではアーカイブの関係で <link>
を使用します。$before
や $after
のパラメーターは使用されません。$text
パラメーターはリンクの説明に利用されます。
option
フォーマットは <select>
要素で <option>
を使用します。値は $url
パラメーターを使用し、$before
や $after
も利用できます。
デフォルトの html
フォーマットは、リスト形式で HTML を出力します。$before
はリンク <a>
の前に、$after
はリンク </a>
の後に使用します。
上記3つのフォーマットを使用しない場合は、カスタムフォーマットとみなされます。
パラメーター
$url | アーカイブへの URL を設定 |
$text | アーカイブ説明テキストを設定 |
$format | link option html が指定可能指定がない場合はカスタムとみなされる デフォルトは html |
$before | 説明の前に挿入されるコンテンツを設定 |
$after | 説明の後に挿入されるコンテンツを設定 |
$selected | 現在のページが詮索されたアーカイブページである場合 true が設定されるデフォルトでは 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
);