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

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

関数リファレンス/wp insert post

提供: WordPress Codex 日本語版
< 関数リファレンス
2010年5月2日 (日) 21:34時点におけるKz (トーク | 投稿記録)による版 (全体を和訳。)

移動先: 案内検索

データベースに投稿を追加します。無害化や値のチェック、デフォルト値の設定なども行います。投稿オブジェクトを引数に取り、作成された投稿の 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最新版との差分