WordPress, post statusまとめ

WordPressで記事を投稿するときに使うwp_insert_post関数を使いますが,パラメータとして渡す$postにはpost statusなるものがありますね.

// 投稿オブジェクトを作成
$my_post = array(
  'post_title'    => 'My post',
  'post_content'  => 'This is my post.',
  'post_status'   => 'publish', // ←これ
  'post_author'   => 1,
  'post_category' => array(8,39)
);

// 投稿をデータベースへ追加
wp_insert_post( $my_post );

このpost statusには’draft’(下書き),’publish’(公開済),’future’(予約済),’pending’(承認待ち),’private’(非公開),’trash’(ゴミ箱),’auto-draft’(自動下書き),’inherit’(継承)が指定できます. デフォルトは’draft’となっているので特にここを指定せずに記事を投稿すると下書きとしてデータベースに保存されます.

表サイトに出したいような記事を投稿するときには’publish’を指定するようにしましょう.

また,pust_statusにfutureを指定したいときにはpost_dateに公開したい日付を指定しておきましょう.

// 投稿オブジェクトを作成
$my_post = array(
  'post_title'    => 'My post',
  'post_content'  => 'This is my post.',
  'post_status'   => 'future', // 投稿を予約
  'post_author'   => 1,
  'post_category' => array(8,39),
  'post_date'     => [ 2020-2-20 22:22:22 ] // 未来の日付
);

// 投稿をデータベースへ追加
wp_insert_post( $my_post );