get_post

(1.5.1以降)
get_post - 投稿情報を取得する

説明

mixed get_post( mixed & $post [ , string $output = OBJECT [ , string $filter = 'raw' ] ] )
任意の投稿情報を取得する。

パラメータ

  • $post
    投稿情報または投稿IDが格納された変数
  • $output
    出力形式(OBJECT、ARRAY_A、ARRAY_Nの何れか)を指定(省略時はOBJECT)。
  • $filter
    フィルターを指定(省略時は'raw')。

返り値

投稿情報が見つかった場合は$outputで指定した形式(オブジェクトまたは配列)で返す。投稿情報が見つからない場合はnullを返す。

注意

パラメータ$postは省略できない。nullや0などを指定した場合は、グローバル変数の$GLOBAL['post']を調べ、セットされている場合はその内容を、セットされていない場合はnullを返す。

パラメータ$postだが、どこがのバージョンで投稿IDを変数に入れないとエラーになっていたが、最新版は投稿IDを指定しても問題なくなっている。

パラメータ$outputにARRAY_AまたはARRAY_Nを指定した場合は、固定ページとそれ以外の投稿タイプとでは得られる配列の要素が異なる。具体的には固定ページの場合は'page_template'(ARRAY_Nの場合は25)にテンプレートファイル名が格納されるが、固定ページ以外の場合はこの要素がない。ARRAY_Nを指定してキーが25以降の値を参照するときは注意が必要である。

使用例

  • 投稿IDが10の投稿情報を取得する。
    <?php $post = get_post( 10 $id = 10 ); ?>
  • 投稿IDが10の投稿情報を連想配列で取得する。
    <?php $post = get_post( 10, ARRAY_A ); ?>

フィルター

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

アクション

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

ソースファイル

/wp-includes/post.php

関連

お勧めコンテンツ

Emojin:プラグイン作ってみました(2014年8月23日 登録)

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

初期化に関連するアクションのおさらい(2012年8月7日 登録)

いつも何気なくfunctions.phpで使っているafter_setup_themeアクションやinitアクション。普段はあまり意識していなかったが、ふとしたことからどんな順番に呼び出されるのか気になってしまい、ちょっと調べてみた。

「姓」の後に「名」を(2013年11月6日 登録)

WordPressのユーザー情報設定ページでは、「名(First name)」の後に「姓(Last name)」を入力するようになっている。日本向けのユーザー登録できるサイトの場合、この並び順はちょっと違和感があるので、「姓」「名」の順に入力できるようにした。

ページを表示する直前の前処理にtemplate_redirectアクションを(2013年4月13日 登録)

リクエストに応じてページを表示する直前の準備として何かしらの処理を行っておきたいケースがある。そんな時、テーマの各テンプレートファイルの先頭部分に処理内容をずらずらと記述していませんか。

もうquery_postsは呼ばない(2011年9月27日 登録)

トップページやカテゴリーページで標準の条件に少し手を加えた投稿情報を表示するケースがある。そんな時、テンプレートファイルの先頭でquery_posts関数を呼び出して投稿情報を再抽出していたのだが、フィルター処理をうまく使えばquery_posts関数を呼び出さなくても大丈夫みたいだ。

最終更新日時 : 2016-05-23 13:15