- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/get post
提供: WordPress Codex 日本語版
< 関数リファレンス
投稿 ID で指定した投稿のレコードをデータベースから取得します。$output パラメータで戻り値の型を指定できます。$filter パラメータには、取得したレコード内の各フィールドに対する無害化のコンテキストを指定します。無害化については sanitize_post_field() も見てください。
投稿オブジェクトを指定した場合は、そのオブジェクトの各フィールドを無害化してから指定された型で返します。
使い方
<?php get_post( $id, $output, $filter ); ?>
パラメータ
- $id
- (整数|オブジェクト) (オプション) 取得したい投稿の ID、または無害化したい投稿オブジェクト。デフォルトでは現在の投稿が取得されます。
- 初期値: null (現在の投稿)
- $output
- (定数) (オプション) 戻り値の型
- 初期値:
'OBJECT'
- 初期値:
- 有効な値は次のとおりです:
-
'OBJECT'
- 投稿オブジェクトを返します -
'ARRAY_A'
- 連想配列(フィールド名がキーになります) -
'ARRAY_N'
- インデックス配列
-
- $filter
- (文字列) (オプション) 無害化のコンテキスト
- 初期値:
'raw'
- 初期値:
- 有効な値は次のとおりです。sanitize_post_field() も見てください:
-
'raw'
- 数値フィールドの値のみ無害化 -
'edit'
- 各種フィルターフックで無害化 -
'db'
- 各種フィルターフックで無害化 -
'display'
- 各種フィルターフックで無害化 -
'attreibute'
- 各種フィルターフックの後、esc_attr() で無害化 -
'js'
- 各種フィルターフックの後、esc_js() で無害化
-
戻り値
WP_Post オブジェクトを返します。指定された投稿が存在しないか、エラーが発生した場合は、null を返します。
参考:戻り値に含まれるフィールドの値は次のとおりです。 データベースの wp_posts テーブルの説明も見てください。
- ID
- (整数) 投稿 ID
- post_author
- (整数) 作成者 ID
- post_date
- (文字列) 投稿日時 (YYYY-MM-DD HH:MM:SS)
- post_date_gmt
- (文字列) GMT での投稿日時 (YYYY-MM-DD HH:MM:SS)
- post_content
- (文字列) 本文
- post_title
- (文字列) タイトル
- post_category
- (整数) カテゴリー ID。バージョン 2.1 以降、常に 0 です。投稿のカテゴリーを取得するには get_the_category() を使用してください。
- post_excerpt
- (文字列) 抜粋
- post_status
- (文字列) 公開ステータス (publish|pending|draft|private|static|object|attachment|inherit|future)
- comment_status
- (文字列) コメントステータス (open|closed|registered_only)
- ping_status
- (文字列) ピンバック/トラックバックステータス (open|closed)
- post_password
- (文字列) 閲覧パスワード
- post_name
- (文字列) スラッグ
- to_ping
- (文字列) ピン通知 URL
- pinged
- (文字列) ピン通知済み URL
- post_modified
- (文字列) 更新日時 (YYYY-MM-DD HH:MM:SS)
- post_modified_gmt
- (文字列) GMT での更新日時 (YYYY-MM-DD HH:MM:SS)
- post_content_filtered
- (文字列)
- post_parent
- (整数) 親 ID (固定ページや添付ファイルなどで使用)
- guid
- (文字列) 投稿へのリンクの書式になっている識別子。
- menu_order
- (整数) 固定ページ の表示順序。
- post_type
- (文字列) 投稿タイプ (post|page|attachment)
- post_mime_type
- (文字列) 添付ファイルのとき MIME タイプ(image/png など)
- comment_count
- (整数) コメント数
用例
ID が 7 の投稿のタイトルを取得する:
<?php $post_7 = get_post( 7 ); $title = $post_7->post_title; ?>
上の例に加えて $output パラメータを指定すると:
<?php $post_7 = get_post( 7, ARRAY_A ); $title = $post_7['post_title']; ?>
参考
バージョン 3.5 より前は、第 1 パラメータの $post が変数でなければなりませんでした。例えば get_post( 7 ) はエラー(Only variables can be passed for reference または Cannot pass parameter 1 by reference)になっていました。
変更履歴
- バージョン 1.5.1 : 新規導入
- バージョン 3.5.0 : $post パラメータが値渡しになりました。以前は参照渡しでした。
ソースファイル
get_post() は wp-includes/post.php
に含まれています。
関連資料
- get_post_field() - 投稿 ID とフィールドを指定してデータを取得する。
記事
- 記事: ループ - WordPress ループ内でのクエリの使い方に関する基本的な概要。
- 記事: クエリ概要 - どのクエリが WordPress を生成するのかが決定される方法についての説明。
- 記事: フックを使ったクエリのカスタマイズ
- 記事: カスタムセレクトクエリを使った投稿の表示 /en
- 記事: 高度なタクソノミークエリの生成 /en
- 記事: オフセットとページネーションを活用したカスタムクエリ /en
コード・ドキュメンテーション
- クラス: WP_Query - WP_Query クラスの詳細な全容
- クラス: WP_Comment_Query - コメント関連のクエリのためのクラス
- クラス: WP_User_Query - ユーザー関連のクエリのためのクラス
- オブジェクト: $wpdb - $wpdb オブジェクトの使い方全容
- 関数: set_query_var()
- 関数: get_query_var()
- 関数: query_posts() - 追加のカスタムクエリを作成
- 関数: get_post() - 項目の ID を取得しデータベース内にあるその投稿のレコードを返す
- 関数: get_posts() - 投稿の配列を返すことに特化した関数
- 関数: get_pages() - ページの配列を返すことに特化した関数
- 関数: have posts() - クエリが投稿を返すか否かを判断する条件関数
- 関数: the_post() - クエリ後に自動的にループを設定する
- 関数: rewind_posts() - 現状のループをリセットする
- 関数: setup_postdata() - ループ内で個別の結果を得るためのクエリデータを設定する
- 関数: wp_reset_postdata() - 直前のクエリを復元する (通常はループ内の別のループの後に用いられる)
- 関数: wp_reset_query()
- 関数: is_main_query() - 変更されるクエリがメインのクエリであることを確認する
- アクションフック: pre_get_posts - WordPressクエリが実行される前に変更する
- アクションフック: the_post - post クエリの後で post オブジェクトを変更する
- フィルターフック: found_posts - WP_Query オブジェクトの found_posts 値を変更する
関数リファレンス、テンプレートタグ目次もご覧ください。
最新英語版: WordPress Codex » Function Reference/get_post (最新版との差分)