wp_get_archives

説明

string wp_get_archives( [ mixed $args = '' ] )
投稿記事のアーカイブリンクをパラメータ$argsのecho値が1ならば表示する。echo値が0ならばその文字列を取得する。

パラメータ

  • $args
    表示条件を指定する文字列(または連想配列)。文字列の場合はname=valueの形式で指定し、複数の条件はname1=value1&name2=value2のように'&'の後に続ける。主なキーワードは次の通り。
    キーワード省略時の値意味
    type'monthly'アーカイブ種別を指定('daily'、'weekly'、'monthly'、'yearly'、'postbypost'、'alpha'など)
    limit''表示件数(正数)
    format'html'表示形式を指定('html'、'link'、'option'など)
    before''リンク名の前に連結する文字列
    after''リンク名の後に連結する文字列
    show_post_countfalse投稿件数を表示する場合はtrue、表示しない場合はfalse
    echo1表示する場合は1、文字列として取得する場合は0
    order'DESC'降順は'DESC'、昇順は'ASC'を指定
    post_type'post'[4.4.0]投稿タイプを指定

返り値

パラメータ$argsにecho値が0の場合は、リンクの文字列を返す。echo値が1(デフォルト)の場合は何も返さない。

注意

4.4.0で'post_type'パラメータが追加され、任意の投稿タイプのアーカイブ情報を取得できるようになった。


使用例

  • アーカイブリンクを表示する。
    <?php wp_get_archives( ); ?>

フィルター

[2.2.0]検索を行う直前にgetarchives_whereフィルターが実行される。このフィルターを利用することで、アーカイブの取得条件を変更できる。フィルター関数には$where$r(本関数呼び出し時のパラメータが展開されたもの)が渡り、$whereにはデフォルトとして "WHERE post_type = 'post' AND post_status = 'publish'" が格納されている。
$where = apply_filters( 'getarchives_where', $where, $r );
[2.2.0]getarchives_whereフィルターの実行直後にgetarchives_joinフィルターが実行される。アーカイブの取得条件で投稿情報以外のテーブルを使用する場合にこのフィルターを利用する。フィルター関数には$join$rが渡り、$whereにはデフォルトとして '' が格納されている。
$join = apply_filters( 'getarchives_join', $join, $r );
指定された条件で取得された投稿情報に投稿タイトルがある場合は'the_title'フィルターを呼び出す。パラメータ$post_titleには投稿タイトルが、$post_idには投稿IDが格納される。
$text = strip_tags( apply_filters( 'the_title', $post_title, $post_id ) );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/general-template.php

最終更新 : 2018年05月27日 10:48



お勧め

query_posts(WP_Queryクラス)でカテゴリーを絞り込む(2011年9月14日 更新)

久しぶりに query_posts関数を見直してみると、見知らぬパラメータがいくつか追加されていた。気になったのでカテゴリー関係の指定を'tax_query'パラメータを交えて整理してみた。

the_date関数で投稿日を確実に表示する(2011年12月20日 更新)

投稿記事の投稿日時を表示する際、 the_date関数を使用することが多いだろう。このthe_date関数はphpのdate関数と同じパラメータを指定することで、好みの日時フォーマットで投稿日時を表示できるのだが、ある条件の場合に投稿日時を表示しない。最初にこの現象に遭遇したときは、ちょっと悩まされた。

スクリプトファイルのバージョンパラメータを変更する(2018年5月27日 更新)

Java Scriptやスタイルシートの指定を直接head要素内に記述せず、wp_enqueue_scriptsフィルターなどを使って指定する場合、WordPressのバージョン番号が付与されている。このバージョン番号は、妥当なんだろうか。

ログアウト後はいつもサイトトップ(2018年5月27日 更新)

ログアウト後に表示(リダイレクト)されるページは、標準ではログインページ(wp-login.php)である。4.2.0ではログアウト処理後のページリダイレクト前に呼び出されるフィルターが追加された。

カレンダーウィジェットをAjaxで切り替える(2011年8月22日 更新)

ウィジェットベースでテーマを構築していてカレンダーを表示してみた。標準では、前月や次月のリンク先はそれぞれの月のアーカイブページとなっているのだが、記事を探すだけであればカレンダー部分だけを更新するほうが便利なのではと考え、そのアイデアを実装してみた。