• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

「関数リファレンス/get post」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(全体を和訳)
(en:Function Reference/get_post 11:54, 7 April 2014 MichaelApproved 版を反映。)
 
(同じ利用者による、間の1版が非表示)
3行目: 3行目:
 
</div>
 
</div>
  
投稿 ID または投稿オブジェクトで指定した投稿のレコードをデータベースから取得します。<tt>$output</tt> で戻り値の型を指定できます。<tt>$filter</tt> には、取得したレコード内の各フィールドに対する無害化のコンテキストを指定します。無害化については [[Function Reference/sanitize post field|sanitize_post_field()]] も見てください。
+
投稿 ID で指定した投稿のレコードをデータベースから取得します。<tt>$output</tt> パラメータで戻り値の型を指定できます。<tt>$filter</tt> パラメータには、取得したレコード内の各フィールドに対する無害化のコンテキストを指定します。無害化については [[関数リファレンス/sanitize post field|sanitize_post_field()]] も見てください。
 +
 
 +
投稿オブジェクトを指定した場合は、そのオブジェクトの各フィールドを無害化してから指定された型で返します。
  
 
<div id="Usage">
 
<div id="Usage">
15行目: 17行目:
 
</div>
 
</div>
  
{{Parameter|$post|整数またはオブジェクト|取得したい投稿の ID またはオブジェクト。ここには変数を指定してください。例えば <var>7</var> のような数値を直接指定するとエラー(''Only variables can be passed for reference'' または ''Cannot pass parameter 1 by reference'')になります。}}
+
{{Parameter|$id|整数&#124;オブジェクト|取得したい投稿の ID、または無害化したい投稿オブジェクト。デフォルトでは''現在の投稿''が取得されます。|オプション|null (現在の投稿)}}
{{Parameter|$output|定数|戻り値の型|オプション|OBJECT}}
+
 
:* <code>'ARRAY_A'</code> - 連想配列
+
{{Parameter|$output|定数|戻り値の型|オプション|<code>'OBJECT'</code>}}
 +
: 有効な値は次のとおりです:
 +
:* <code>'OBJECT'</code> - [[クラスリファレンス/WP_Post|投稿オブジェクト]]を返します
 +
:* <code>'ARRAY_A'</code> - 連想配列(フィールド名がキーになります)
 
:* <code>'ARRAY_N'</code> - インデックス配列
 
:* <code>'ARRAY_N'</code> - インデックス配列
:* <code>'OBJECT'</code> - 投稿オブジェクト
+
 
{{Parameter|$filter|文字列|無害化のコンテキスト|オプション|'raw'}}
+
{{Parameter|$filter|文字列|無害化のコンテキスト|オプション|<code>'raw'</code>}}
 +
: 有効な値は次のとおりです。[[関数リファレンス/sanitize post field|sanitize_post_field()]] も見てください:
 
:* <code>'raw'</code> - 数値フィールドの値のみ無害化
 
:* <code>'raw'</code> - 数値フィールドの値のみ無害化
 
:* <code>'edit'</code> - 各種フィルターフックで無害化
 
:* <code>'edit'</code> - 各種フィルターフックで無害化
 
:* <code>'db'</code> - 各種フィルターフックで無害化
 
:* <code>'db'</code> - 各種フィルターフックで無害化
:* <code>'display'</code> - 数値フィールドの値のみ無害化
+
:* <code>'display'</code> - 各種フィルターフックで無害化
:* <code>'attreibute'</code> - <tt>esc_attr()</tt> で無害化
+
:* <code>'attreibute'</code> - 各種フィルターフックの後、<tt>esc_attr()</tt> で無害化
:* <code>'js'</code> - <tt>esc_js()</tt> で無害化
+
:* <code>'js'</code> - 各種フィルターフックの後、<tt>esc_js()</tt> で無害化
 
+
<div id="Examples">
+
== 用例 ==
+
</div>
+
 
+
投稿 ID が7のタイトルを取得する:
+
 
+
<pre><?php
+
$my_id = 7;
+
$post_id_7 = get_post ( $my_id );
+
$title = $post_id_7->post_title;
+
?></pre>
+
 
+
<tt>$output</tt> を指定した場合:
+
 
+
<pre><?php
+
$my_id = 7;
+
$post_id_7 = get_post( $my_id, ARRAY_A );
+
$title = $post_id_7['post_title'];
+
?></pre>
+
 
+
<prE><?php
+
// 正)投稿 ID としてダミー変数を使用:
+
$the_post = & get_post( $dummy_id = 7 );
+
+
// 誤)投稿 ID に数値を使用:
+
$the_post = & get_post( 7 );
+
// Fatal error: 'Only variables can be passed for reference' または 'Cannot pass parameter 1 by reference'
+
?></pre>
+
  
 
<div id="Return_Values">
 
<div id="Return_Values">
61行目: 38行目:
 
</div>
 
</div>
  
戻り値に含まれるフィールドの値:
+
[[クラスリファレンス/WP_Post|WP_Post]] オブジェクトを返します。指定された投稿が存在しないか、エラーが発生した場合は、<tt><b>null</b></tt> を返します。
[[データベース概要#Table:_wp_posts|データベース概要 - テーブル: wp_posts]] も見てください。
+
 
 +
'''参考:'''戻り値に含まれるフィールドの値は次のとおりです。
 +
[[データベース概要#Table:_wp_posts|データベースの wp_posts テーブルの説明]]も見てください。
  
 
; <tt>ID</tt> : (''整数'') 投稿 ID
 
; <tt>ID</tt> : (''整数'') 投稿 ID
70行目: 49行目:
 
; <tt>post_content</tt> : (''文字列'') 本文
 
; <tt>post_content</tt> : (''文字列'') 本文
 
; <tt>post_title</tt> : (''文字列'') タイトル
 
; <tt>post_title</tt> : (''文字列'') タイトル
; <tt>post_category</tt> : (''整数'') カテゴリー ID。[[Version 2.1|バージョン 2.1]] 以降、常に0です。投稿のカテゴリーを取得するには [[関数リファレンス/get_the_category|get_the_category()]] を使用してください。
+
; <tt>post_category</tt> : (''整数'') カテゴリー ID。[[Version 2.1|バージョン 2.1]] 以降、常に 0 です。投稿のカテゴリーを取得するには [[テンプレートタグ/get_the_category|get_the_category()]] を使用してください。
 
; <tt>post_excerpt</tt> : (''文字列'') 抜粋
 
; <tt>post_excerpt</tt> : (''文字列'') 抜粋
 
; <tt>post_status</tt> : (''文字列'') 公開ステータス (<tt>publish|pending|draft|private|static|object|attachment|inherit|future</tt>)
 
; <tt>post_status</tt> : (''文字列'') 公開ステータス (<tt>publish|pending|draft|private|static|object|attachment|inherit|future</tt>)
88行目: 67行目:
 
; <tt>post_mime_type</tt> : (''文字列'') 添付ファイルのとき MIME タイプ(image/png など)
 
; <tt>post_mime_type</tt> : (''文字列'') 添付ファイルのとき MIME タイプ(image/png など)
 
; <tt>comment_count</tt> : (''整数'') コメント数
 
; <tt>comment_count</tt> : (''整数'') コメント数
 +
 +
<div id="Examples">
 +
== 用例 ==
 +
</div>
 +
 +
ID が 7 の投稿のタイトルを取得する:
 +
 +
<pre><?php
 +
$post_7 = get_post( 7 );
 +
$title = $post_7->post_title;
 +
?></pre>
 +
 +
上の例に加えて <tt>$output</tt> パラメータを指定すると:
 +
 +
<pre><?php
 +
$post_7 = get_post( 7, ARRAY_A );
 +
$title = $post_7['post_title'];
 +
?></pre>
 +
 +
<div id="Notes">
 +
== 参考 ==
 +
</div>
 +
 +
バージョン 3.5 より前は、第 1 パラメータの <tt>$post</tt> が変数でなければなりませんでした。例えば <tt>get_post( 7 )</tt> はエラー(''Only variables can be passed for reference'' または ''Cannot pass parameter 1 by reference'')になっていました。
  
 
<div id="Change_Log">
 
<div id="Change_Log">
94行目: 97行目:
  
 
* [[Version 1.5.1|バージョン 1.5.1]] : 新規導入
 
* [[Version 1.5.1|バージョン 1.5.1]] : 新規導入
 +
* [[Version_3.5|バージョン 3.5.0]] : <tt>$post</tt> パラメータが[http://php.net/manual/ja/functions.arguments.php 値渡し]になりました。以前は[http://php.net/manual/ja/functions.arguments.php#functions.arguments.by-reference 参照渡し]でした。
  
 
<div id="Source_File">
 
<div id="Source_File">
99行目: 103行目:
 
</div>
 
</div>
  
<tt>get_post()</tt> は {{Trac|wp-includes/post.php}} と {{Trac|wp-app.php}} に含まれています。
+
<tt>get_post()</tt> は {{Trac|wp-includes/post.php}} に含まれています。
 
+
<!--
+
== References ==
+
 
+
* [http://wordpress.org/support/topic/54424 get_post method not working] NB: "This topic has been closed to new replies."
+
-->
+
  
 
<div id="Related">
 
<div id="Related">
 
== 関連資料 ==
 
== 関連資料 ==
 
</div>
 
</div>
 
+
* <tt>[[関数リファレンス/get_post_field|get_post_field()]]</tt> - 投稿 ID とフィールドを指定してデータを取得する。
 +
{{Query Tags}}
 
{{Tag Footer}}
 
{{Tag Footer}}
{{原文|Function Reference/get post|86339}}
+
 
[[Category:Functions]]
+
{{原文|Function Reference/get_post|142363}} <!-- 11:54, 7 April 2014 MichaelApproved 版 -->
[[en:Function Reference/get post]]
+
 
 +
{{DEFAULTSORT:get_post}}  
 +
[[Category:関数]]
 +
 
 +
[[en:Function Reference/get_post]]
 +
[[it:Riferimento_funzioni/get_post]]
 +
[[ru:Справочник_по_функциям/get_post]]
 +
[[tr:Fonksiyon Referans/get_post]]

2014年9月14日 (日) 16:57時点における最新版

投稿 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)になっていました。

変更履歴

ソースファイル

get_post()wp-includes/post.php に含まれています。

  • get_post_field() - 投稿 ID とフィールドを指定してデータを取得する。

記事

コード・ドキュメンテーション

  • クラス: 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最新版との差分