wp_get_recent_posts

説明

mixed wp_get_recent_posts( [ mixed $args = array() [ , string $output = ARRAY_A ] ] )
最新の投稿情報を取得する。

パラメータ

  • $args
    検索条件を連想配列で指定(省略時はarray())。
    キーワード意味
    numberposts取得件数(省略時は10)
    offset取得開始位置(省略時は0:先頭)
    category何れかのカテゴリーに属する投稿情報はカテゴリーIDを、何れのカテゴリーにも属さない投稿情報は-を付けたカテゴリーIDを指定(複数指定する場合は,で区切る)
    orderbyソート対象を示すauthor、date、category、title、modified、ID、randなど(省略時は'post_date':投稿日時)
    orderソート順を示すASCかDESC(省略時はDESC)
    include取得したい投稿情報ID(複数指定する場合は,で区切る)
    exclude取得したくない投稿情報ID(複数指定する場合は,で区切る)
    meta_keyカスタムフィールドの名前
    meta_valueカスタムフィールドの値
    post_type'post'、'page'、'attachment'、'any'などの投稿情報タイプ(省略時は'post':投稿ページ)
    suppress_filters最終的な検索条件に対してフィルター処理を行わない場合はtrue、フィルター処理を行う場合はfalseを指定(省略時はtrue)
    post_status投稿ステータスを示す'auto-draft'、'draft'、'inherit'、'private'、'publish'、'any'など(省略時は'draft, publish, future, pending, private')
  • $output
    出力形式としてARRAY_AまたはOBJECTを指定(省略時はARRAY_A)。

返り値

パラメータ$outputがARRAY_Aの場合、条件にマッチした投稿情報を連想配列に変換した配列を返す。投稿情報がない場合は空の配列を返す。
パラメータ$outputがOBJECT(ARRAY_A以外)の場合、条件にマッチした投稿情報オブジェクトの配列を返す。投稿情報がない場合はfalseを返す。

注意

3.1以降とその前とで、パラメータの仕様が変わっている(3.1より前のバージョンでは、第1パラメータは取得したい投稿件数を指定していた)。
パラメータ$argsの内容は、内部で呼び出される get_posts関数に準じるが、省略時の値は異なっている。

使用例

  • 最新の投稿情報を5件取得する。
    <?php $recent = wp_get_recent_posts( array( 'numberposts' => 5 ) ); ?>
  • 最新の投稿情報をオブジェクトで取得する。。
    <?php $recent = wp_get_recent_posts( array(), OBJECT ); ?>

フィルター

直接実行するフィルターはありません。

アクション

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

ソースファイル

/wp-includes/post.php

最終更新 : 2013年10月16日 11:47



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。