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

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

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

提供: WordPress Codex 日本語版
移動先: 案内検索
(en:Function Reference/wp insert post 08:50, 27 April 2010 Solenoid)
 
(全体を和訳。)
1行目: 1行目:
==Description==
+
<div id="Description">
This function inserts posts (and pages) in the database. It sanitizes variables, does some checks, fills in missing variables like date/time, etc. It takes an object as its argument and returns the post ID of the created post (or <tt>0</tt> if there is an error).
+
== 説明 ==
 +
</div>
  
==Usage==
+
データベースに投稿を追加します。無害化や値のチェック、デフォルト値の設定なども行います。投稿オブジェクトを引数に取り、作成された投稿の ID(失敗時は0)を返します。
%%% <?php wp_insert_post( $post ); ?> %%%
+
  
==Example==
+
<div id="Usage">
Before calling wp_insert_post() it is necessary to create an object (typically an array) to pass the necessary elements that make up a post. The wp_insert_post() will fill out a default list of these but the user is required to provide the title and content otherwise the database write will fail.
+
== 使い方 ==
 +
</div>
 +
 
 +
<?php wp_insert_post( $post ); ?>
 +
 
 +
<div id="Examples">
 +
== 用例 ==
 +
</div>
 +
 
 +
<tt>wp_insert_post()</tt> を実行する前に引数に渡す投稿オブジェクトを作成する必要があります。<tt>wp_insert_post()</tt> は未指定の値にはデフォルト値を設定しますが、タイトル,本文,抜粋のいずれかは必ず指定してください。どれも未指定の場合は、追加に失敗します。
 +
 
 +
データベースの <tt>wp_posts</tt> テーブルにあるフィールドを配列のキーにして値を設定:
  
The user can provide more elements than are listed here by simply defining new keys in the database. The keys should match the names of the columns in the wp_posts table in the database.
 
 
<pre>
 
<pre>
// Create post object
+
// 投稿オブジェクトの作成
 
   $my_post = array();
 
   $my_post = array();
 
   $my_post['post_title'] = 'My post';
 
   $my_post['post_title'] = 'My post';
18行目: 28行目:
 
   $my_post['post_category'] = array(8,39);
 
   $my_post['post_category'] = array(8,39);
  
// Insert the post into the database
+
// データベースに投稿を追加
 
   wp_insert_post( $my_post );
 
   wp_insert_post( $my_post );
 
</pre>
 
</pre>
  
The default list referred to above is defined in the function body. It is as follows:
+
投稿オブジェクトのデフォルト値:
 
<pre>
 
<pre>
 
$defaults = array(
 
$defaults = array(
40行目: 50行目:
 
</pre>
 
</pre>
  
===Categories===
+
===カテゴリー===
Categories need to be passed as an array of integers that match the category IDs in the database. This is the case even where only one category is assigned to the post.
+
カテゴリーはカテゴリー ID の配列で指定します。カテゴリーがひとつの場合でも配列にします。
  
==Parameters==
+
<div id="Parameters">
{{Parameter|$post|object|An object representing the elements that make up a post. There is a one-to-one relationship between these elements and the names of columns in the wp_posts table in the database.}}
+
== パラメータ ==
 +
</div>
  
'''IMPORTANT''': Setting a value for $post['ID'] WILL NOT create a post with that ID number. Setting this value will cause the function to update the post with that ID number with the other values specified in $post. In short, to insert a new post, $post['ID'] must be blank or not set at all.
+
{{Parameter|$post|オブジェクト|投稿オブジェクト。キーの名前は <tt>wp_posts</tt> テーブルの各フィールド名と一致させます。}}
  
The contents of the post array can depend on how much (or little) you want to trust the defaults. Here is a list with a short description of all the keys you can set for a post:
+
'''重要''': <tt>$post['ID']</tt> に値を指定しても、その ID で投稿を追加することはできません。この場合は投稿の更新になります。投稿を追加する場合は、<tt>$post['ID']</tt> は未指定または空文字にしてください。
 +
 
 +
投稿オブジェクトに指定できる値:
 
<pre>
 
<pre>
 
$post = array(
 
$post = array(
   'ID' => [ <post id> ] //Are you updating an existing post?
+
   'ID' => [ <投稿 ID> ] // 既存の投稿を更新する場合。
   'menu_order' => [ <order> ] //If new post is a page, sets the order should it appear in the tabs.
+
   'menu_order' => [ <順序値> ] // 追加する投稿が固定ページの場合、ページの並び順を番号で指定できます。
   'comment_status' => [ 'closed' | 'open' ] // 'closed' means no comments.
+
   'comment_status' => [ 'closed' | 'open' ] // 'closed' はコメントを閉じます。
   'ping_status' => [ 'closed' | 'open' ] // 'closed' means pingbacks or trackbacks turned off
+
   'ping_status' => [ 'closed' | 'open' ] // 'closed' はピンバック/トラックバックをオフにします。
   'pinged' => [ ? ] //?
+
   'pinged' => [ ? ] // ピンバック済。
   'post_author' => [ <user ID> ] //The user ID number of the author.
+
   'post_author' => [ <user ID> ] // 作成者のユーザー ID。
   'post_category' => [ array(<category id>, <...>) ] //Add some categories.
+
   'post_category' => [ array(<カテゴリー ID>, <...>) ] // カテゴリーを追加。
   'post_content' => [ <the text of the post> ] //The full text of the post.
+
   'post_content' => [ <投稿の本文> ] // 投稿の全文。
   'post_date' => [ Y-m-d H:i:s ] //The time post was made.
+
   'post_date' => [ Y-m-d H:i:s ] // 投稿の作成日時。
   'post_date_gmt' => [ Y-m-d H:i:s ] //The time post was made, in GMT.
+
   'post_date_gmt' => [ Y-m-d H:i:s ] // 投稿の作成日時(GMT)。
   'post_excerpt' => [ <an excerpt> ] //For all your post excerpt needs.
+
   'post_excerpt' => [ <抜粋> ] // 投稿の抜粋。
   'post_name' => [ <the name> ] // The name (slug) for your post
+
   'post_name' => [ <スラッグ名> ] // 投稿スラッグ。
   'post_parent' => [ <post ID> ] //Sets the parent of the new post.
+
   'post_parent' => [ <投稿 ID> ] // 親投稿の ID。
   'post_password' => [ ? ] //password for post?
+
   'post_password' => [ <投稿パスワード> ] // 投稿の閲覧時にパスワードが必要になります。
   'post_status' => [ 'draft' | 'publish' | 'pending'| 'future' ] //Set the status of the new post.
+
   'post_status' => [ 'draft' | 'publish' | 'pending'| 'future' ] // 公開ステータス。
   'post_title' => [ <the title> ] //The title of your post.
+
   'post_title' => [ <タイトル> ] // 投稿のタイトル。
   'post_type' => [ 'post' | 'page' ] //Sometimes you want to post a page.
+
   'post_type' => [ 'post' | 'page' ] // 投稿タイプ名。
   'tags_input' => [ '<tag>, <tag>, <...>' ] //For tags.
+
   'tags_input' => [ '<タグ>, <タグ>, <...>' ] // 投稿タグ。
 
   'to_ping' => [ ? ] //?
 
   'to_ping' => [ ? ] //?
 
);   
 
);   
 
</pre>
 
</pre>
  
'''NOTE''' (added 10/1/2009): The '''page_template''' key was removed from the $post table and is now located in the wp_postmeta table. To set the page template of a page, use [[Function Reference/update_post_meta|update_post_meta]] instead.
+
'''注1''': '''page_template''' キーは <tt>wp_post</tt> テーブルから <tt>wp_postmeta</tt> テーブルに移動しました。ページテンプレートの設定は [[関数リファレンス/update_post_meta|update_post_meta]] を使います。
 +
 
 +
'''注2''': '''post_status''' は [[Post Status Transitions]] を見てください。
 +
 
 +
'''注3''': '''post_status''' に 'future' を設定する場合は、''' post_date ''' に未来の日時を設定してください。
 +
 
 +
<div id="Return_Values">
 +
== 戻り値 ==
 +
</div>
 +
 
 +
投稿をデータベースに追加できた場合は投稿の ID。追加に失敗した場合は <tt>0</tt>。
 +
 
 +
<div id="Change_Log">
 +
== 変更履歴 ==
 +
</div>
 +
 
 +
* [[Version 1.0|バージョン 1.0]] : 新規導入
  
'''NOTE 2''': The '''post_status''' is documented at [[Post Status Transitions]].
+
<div id="Source_File">
 +
== ソースファイル ==
 +
</div>
  
'''NOTE 3''': If providing a post_status of 'future' you must specify the post_date in order for WordPress to know when to publish your post.
+
<tt>wp_insert_post()</tt> は {{Trac|wp-includes/post.php}} に含まれています。
  
==Return==
+
<div id="Related">
The ID of the post if the post is successfully added to the database. Otherwise returns <tt>0</tt>.
+
== 関連資料 ==
 +
</div>
  
==Related==
+
[[関数リファレンス/wp update post|wp_update_post()]], [[関数リファレンス/wp delete post|wp_delete_post()]], [[関数リファレンス/wp publish post|wp_publish_post()]], [[関数リファレンス/wp delete attachment|wp_delete_attachment()]],
[[Function Reference/wp update post|wp_update_post()]], [[Function Reference/wp delete post|wp_delete_post()]], [[Function Reference/wp publish post|wp_publish_post()]], [[Function Reference/wp delete attachment|wp_delete_attachment()]],
+
[[関数リファレンス/wp get attachment url|wp_get_attachment_url()]],
[[Function Reference/wp get attachment url|wp_get_attachment_url()]],
+
[[関数リファレンス/wp insert attachment|wp_insert_attachment()]]
[[Function Reference/wp insert attachment|wp_insert_attachment()]]
+
{{Tag Footer}}
{{Copyedit}}
+
 
{{原文|Function Reference/wp insert post|86485}}<!-- 08:50, 27 April 2010 Solenoid -->
 
{{原文|Function Reference/wp insert post|86485}}<!-- 08:50, 27 April 2010 Solenoid -->
 
[[Category:Functions]]
 
[[Category:Functions]]

2010年5月2日 (日) 21:34時点における版

データベースに投稿を追加します。無害化や値のチェック、デフォルト値の設定なども行います。投稿オブジェクトを引数に取り、作成された投稿の ID(失敗時は0)を返します。

使い方

<?php wp_insert_post( $post ); ?> 

用例

wp_insert_post() を実行する前に引数に渡す投稿オブジェクトを作成する必要があります。wp_insert_post() は未指定の値にはデフォルト値を設定しますが、タイトル,本文,抜粋のいずれかは必ず指定してください。どれも未指定の場合は、追加に失敗します。

データベースの wp_posts テーブルにあるフィールドを配列のキーにして値を設定:

// 投稿オブジェクトの作成
  $my_post = array();
  $my_post['post_title'] = 'My post';
  $my_post['post_content'] = 'This is my post.';
  $my_post['post_status'] = 'publish';
  $my_post['post_author'] = 1;
  $my_post['post_category'] = array(8,39);

// データベースに投稿を追加
  wp_insert_post( $my_post );

投稿オブジェクトのデフォルト値:

$defaults = array(
'post_status' => 'draft', 
'post_type' => 'post',
'post_author' => $user_ID,
'ping_status' => get_option('default_ping_status'), 
'post_parent' => 0,
'menu_order' => 0,
'to_ping' =>  '',
'pinged' => '',
'post_password' => '',
'guid' => '',
'post_content_filtered' => '',
'post_excerpt' => '',
'import_id' => 0);

カテゴリー

カテゴリーはカテゴリー ID の配列で指定します。カテゴリーがひとつの場合でも配列にします。

パラメータ

$post
オブジェクト) (必須) 投稿オブジェクト。キーの名前は wp_posts テーブルの各フィールド名と一致させます。
初期値: なし

重要: $post['ID'] に値を指定しても、その ID で投稿を追加することはできません。この場合は投稿の更新になります。投稿を追加する場合は、$post['ID'] は未指定または空文字にしてください。

投稿オブジェクトに指定できる値:

$post = array(
  'ID' => [ <投稿 ID> ] // 既存の投稿を更新する場合。
  'menu_order' => [ <順序値> ] // 追加する投稿が固定ページの場合、ページの並び順を番号で指定できます。
  'comment_status' => [ 'closed' | 'open' ] // 'closed' はコメントを閉じます。
  'ping_status' => [ 'closed' | 'open' ] // 'closed' はピンバック/トラックバックをオフにします。
  'pinged' => [ ? ] // ピンバック済。
  'post_author' => [ <user ID> ] // 作成者のユーザー ID。
  'post_category' => [ array(<カテゴリー ID>, <...>) ] // カテゴリーを追加。
  'post_content' => [ <投稿の本文> ] // 投稿の全文。
  'post_date' => [ Y-m-d H:i:s ] // 投稿の作成日時。
  'post_date_gmt' => [ Y-m-d H:i:s ] // 投稿の作成日時(GMT)。
  'post_excerpt' => [ <抜粋> ] // 投稿の抜粋。
  'post_name' => [ <スラッグ名> ] // 投稿スラッグ。
  'post_parent' => [ <投稿 ID> ] // 親投稿の ID。
  'post_password' => [ <投稿パスワード> ] // 投稿の閲覧時にパスワードが必要になります。
  'post_status' => [ 'draft' | 'publish' | 'pending'| 'future' ] // 公開ステータス。 
  'post_title' => [ <タイトル> ] // 投稿のタイトル。
  'post_type' => [ 'post' | 'page' ] // 投稿タイプ名。
  'tags_input' => [ '<タグ>, <タグ>, <...>' ] // 投稿タグ。
  'to_ping' => [ ? ] //?
);  

注1: page_template キーは wp_post テーブルから wp_postmeta テーブルに移動しました。ページテンプレートの設定は update_post_meta を使います。

注2: post_statusPost Status Transitions を見てください。

注3: post_status に 'future' を設定する場合は、 post_date に未来の日時を設定してください。

戻り値

投稿をデータベースに追加できた場合は投稿の ID。追加に失敗した場合は 0

変更履歴

ソースファイル

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

wp_update_post(), wp_delete_post(), wp_publish_post(), wp_delete_attachment(), wp_get_attachment_url(), wp_insert_attachment()

関数リファレンステンプレートタグ目次もご覧ください。

最新英語版: WordPress Codex » Function Reference/wp insert post最新版との差分