基本的な流れ:
- CSVファイルを読み込む
- ファイルを文単位でfor loopを回す。
- CSVファイルなのでカンマで分割してそれぞれ必要な情報をそれぞれ変数に割り当てる
- 配列にpost_title (投稿のタイトル) ,post_comment (本文)
- wp_insert_post()で一時保存
- update_post_metaで情報をアップデート
- 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
でページに表示されているものが全て消えます。