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 を確認してみると、とても多くの関数で利用されていることがわかります。また、関数内部のソースコードを確認するととても学びがあるのでぜひ読んでみてください。