こんにちは、WPホームページ研究所の運営サポートチーム(@WP_LABO)です。
以前に「ウェブサイト内に設置したフォームから記事を投稿したい」といったご相談をいただきました。内容を伺うとサイトに訪れた来訪者が体験談を入稿できる仕様で運営されたいとのこと。ワードプレスでは管理画面にログインせずに外部から記事を作成することもできます。カンタンに言えば外部投稿フォームですね。
実装方法はさまざまなので下記ではアイデアとして「wp_insert_post」をご紹介させていただきます。使い方によって「wp-load.php」の読込みが必要だったり色々パターンがあるので参考用としてください。
ワードプレスで外部から記事投稿やサンプルデータをインポートする
実は先日に「プラグイン版のSEOランディングページ(1.1.3)で追加したサンプルLPを複製する機能」も同じ関数で実装をしてます。操作画面については前回に詳しく書いているのでぜひご参照ください。
関数(wp_insert_post)を実行する流れやタイミングについてはご自身の希望通りにご使用くださいませ。どういった条件を判定して動作させるのかも自由自在です。下記では論理型の真偽で判断しています。プラグインを有効化した直後の一度だけに実行を絞ったり条件分岐は色々なパターンが考えられますよね。
function wp_sample_importer() {
$wp_installed_check = get_option( 'data' );
if (is_bool($wp_installed_check) === true) {
$content='<h1>見出し1</h1>';
$wp_init_post = array(
'post_type' => 'custom_post_name',
'post_title' => 'Sample Title',
'post_name' => 'sample',
'post_content' => $content,
'post_status' => 'draft',
);
wp_insert_post( $wp_init_post );
}
}
add_action('init', 'wp_sample_importer');
なお、ポストタイプは投稿(post)でも固定ページ(page)でもOK。上記の例ではカスタム投稿タイプに対して指定しています。使い方によってとても便利な関数となるので機会があればぜひご活用ください。
最新式の無料プラグインを事前公開
WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
→ 改良されたプラグインを確認する