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



お勧め

4.4では投稿ページも専用テンプレートが適用できる(2018年5月27日 更新)

従来、特定の固定ページには専用テンプレートを適用できるのですが、投稿ページに適用させるためにはアクションやフィルターを利用する必要がありました。4.4では特定の投稿ページに標準で専用テンプレートを適用できるようになりそうです。

プラグインで注意が必要な関数(2013年11月27日 更新)

先日「Login rebuilder」という自作プラグインをアップデートした際、ユーザーさんからエラーになると連絡をいただいた。標準環境では問題なく、どうやら何らかのプラグインが影響しているらしい。

タイトルのみをキーワード検索する(2014年4月3日 更新)

WordPressのキーワード検索は、投稿タイトルと本文のどちらかに指定したキーワードが含まれているかを調べるわけだが、時々タイトルだけとか、逆に本文だけ検索したいケースがある。

oEmbedについて考えてみた(2018年5月27日 更新)

本サイト向けにテーマをリニューアルしようと思い一から作っている最中、ふと生成されているHTMLの中にあるoEmbedの記述が目についた。「この記述いつからだっけ」くらいに思いながらリンク先を開き、ちょっとモヤモヤしてしまった。

一定時間でログアウトする(2013年5月23日 更新)

ログイン関係を調べている関係で、 wp_set_auth_cookie関数に行き着く。ログイン画面の「ログイン状態を保持する」がチェックされた場合、クッキーの有効期限は14日間。チェックされていない場合は、ブラウザが閉じるまで常に有効となっているんだね。