WordPressにおけるwp_insert_post関数の利用

WordPressで誰でも投稿できるフォームを作る際に利用すると便利な関数にwp_insert_post関数がある。
以下は、その紹介と利用具体例である。

wp_insert_post関数は引数に配列で投稿データを渡すと投稿が実行される。
しかし、wp_insert_post関数で投稿できるのは、「wp_posts」テーブルにある項目だけなので、
update_post_meta関数を利用してカスタムフィールドに値を投稿すると便利だ。

この時、update_post_meta関数で投稿するには記事のIDが必要。
そこで、wp_insert_post関数の戻り値(作成された記事のID)を利用します。

$post_value = array(
    'post_author' => 1,// 投稿者のID。
    'post_title' => 'タイトル',// 投稿のタイトル。
    'post_content' => '本文', // 投稿の本文。
    'post_category' => array(5,3), // カテゴリーID(配列)。
    'tags_input' => array('タグ1′,'タグ2′), // タグの名前(配列)。
    'post_status' => 'publish' // ステータス(今回は「公開」)
);
$input_id = wp_insert_post($post_value); 
//$input_idには投稿のID(「wp_posts」テーブルの「ID」)が入る。 投稿に失敗した場合は0が返る。

if($postid != 0){
    update_post_meta($input_id, 'Key1′, 'Variable1′); 
//「Key1」(キー)のカスタムフィールドの値に"Variable1"を投稿
    update_post_meta($input_id, 'Key2′, 'Variable2′); 
//「Key2」(キー)のカスタムフィールドの値に"Variable2"を投稿
};

WordPressでwp_insert_post関数を利用した投稿方法