CSVからデータを読み込みWordPressに自動投稿

基本的な流れ:

  1. CSVファイルを読み込む
  2. ファイルを文単位でfor loopを回す。
  3. CSVファイルなのでカンマで分割してそれぞれ必要な情報をそれぞれ変数に割り当てる
  4. 配列にpost_title (投稿のタイトル) ,post_comment (本文)
  5. wp_insert_post()で一時保存
  6. update_post_metaで情報をアップデート
  7. PUBLISH
<?php
    require('../../wp-blog-header.php');
    $lines = file(YOUR_FILE_NAME);
    $counter = 0;
    foreach($lines as $line){
        if($counter == 0){
        }else{
            $data = explode(",",$line);
            $DATA2 = $data[0];
            $DATA3 = $data[1];
            $DATA4 = $data[2];
            $DATA5 = $data[3];
            $DATA6 = $data[4];
            //post at each iteration
            $post_value = array(
                                'post_title' => $DATA1,
                                'post_content' => '[cft format=0]',
                                );
            $insert_id = wp_insert_post($post_value);
            if( $insert_id != 0 ){
                update_post_meta($insert_id, 'd1',$DATA1);
                update_post_meta($insert_id, 'd2',$DATA2);
                update_post_meta($insert_id, 'd3',$DATA3);
                update_post_meta($insert_id, 'd4',$DATA4);
                $post_value['ID'] = $insert_id; 
                $post_value['post_status'] = 'publish'; 
                $insert_id2 = wp_insert_post($post_value);
            }
            else{
                var_dump('Error. Insert Id was Zero.');
            }
        $counter = 1;
        }
        }
?>

WordPressの投稿を大量に消したい場合(コーディングなし):

Posts -> All posts -> Screen Options -> Number of items per pages

と移動して表示件数を変更(~999)して、チェックボタンに全てチェックを付けて

Move to trash -> Apply

でページに表示されているものが全て消えます。