WordPress でゲストに記事投稿させるフォームが作れる wp_insert_post()

wp_insert_post() で WordPress に記事を投稿できます。上手い具合にフォームなどと連携させて叩けばコンテンツを不特定多数の人たちで作っていくサイトを作ることができます。
関数リファレンス/wp insert post – WordPress Codex 日本語版

例えば歌詞をみんなで投稿するサイトを作ったり、今日の日記をみんなで書くサイトを作ったりすることができます。

記事投稿を最も簡単に行うサンプル

なかなかサンプルがないので、シンプルなサンプルを作っておきました。

1
2
3
4
5
6
7
$postarr = Array(
	'post_status' => 'publish',
	'post_category' => '1',
	'post_title' => '記事タイトル',
	'post_content' => '記事の内容'
);
wp_insert_post($postarr);

コメント

  1. oki2a24さんのコメント

    初めまして、oki2a24と申します。

    このサンプルを参考にさせていただいたのですが、
    このままだとWarnigエラーが出力されましたのでお知らせしますね。
    WordPressのバージョンは3.1.2、ローカルでXAMPPで動かしてます。

    具体的には、
    3行目の
    ‘post_category’ => ’1′,
    がダメみたいです。

    原因は、
    wp-includs/post.php
    wp_insert_post関数
    2435行目
    でカテゴリーをarray_filter関数にかけているのですけども、
    引数が配列でないためにWarningを出力しているようですよ。

    なので、
    ‘post_category’ => ’1′,

    ‘post_category’ => array(1),
    に修正しますと解消されました。

    以上です。

    p.s.
    そらいっちさんのウェブルは多くの方がご覧になっていますし
    (わたくしもいつも参考にさせていただいていますっ!)
    おせっかいかなとも思いましたが思い切ってコメントさせていただきました。
    検証していただければ幸いでございます。
    また、
    実際に試行錯誤しているからこそ書ける投稿や、
    そこからにじむ苦悩や考えも含め、
    いつも楽しく拝読させていただいています。
    フリーランスになられ、そらいっちさんのますますの
    ご活躍を祈念しています!
    長文失礼しました。
    ではでは♪