[WordPress]wp_insert_postを使ってWordPressにログインせず記事投稿する

WordPress

WordPressで管理画面にログインせず投稿する方法を調べたところ2つ方法を見つけたので、そのうちの一つwp_insert_postの記事です。

前提としてWordPressと同じサーバーに投稿用のPHPをアップします。
以下必要な最低限のコードです。

//wpのファイルを読み込む
include_once(dirname(__FILE__) . "/../wp/wp-load.php"); //wp-load.phpまでのパスへ変更する

//配列に入れる
$my_post = array(
 'post_title' => 'タイトル',
 'post_content' => '本文',
 'post_status' => 'publish', //公開ステータス
 'post_author' => 1, //ユーザーID
 'post_name' => 'slug', //投稿スラッグ(パーマリンク)
 'post_excerpt' => '概要',
 'post_category' => array(), //カテゴリを配列で
 'tags_input' => array() //タグを配列で
);

$post_id = wp_insert_post( $my_post, $wp_error );

これで投稿ができます。
配列に入れる項目の一覧ページが見つからなかったので、いろいろ探して上記の項目まではわかりました。

formを自前で作って入力等処理をして最後にこのコードで投稿すると色々な事ができます。

前途のとおりこのPHPファイルを作るとWordPressにログインせず投稿可能になるので、セキュリティ的には他の人にアクセスされないように認証等かけておくと良いと思います。

コメント

タイトルとURLをコピーしました