基本的な流れ
vccw/wordpress/wp-admin/にディレクトリを作成(ここではload_csv) 作成したディレクトリ内に読み込みたいCSVファイル(data.csv)とデータを抽出するためのPHPファイル(upload.php)を保存する。
以下のコードがデータを読み取り、自動投稿するためのコードである。
<?php require('../../wp-blog-header.php'); $file = new SplFileObject('data.csv'); //csvファイルの読み込み $file->setFlags(SplFileObject::READ_CSV); foreach ($file as $line) { $records[] = $line; } for ($i=1 ; $i<count($records);$i++){ var_dump($records[$i][0]); //出力(出力したい情報) $post_value = array( 'post_title' => $records[$i][0], //post title 'post_content' => '[ctf format=0]', //post content 'post_status' => 'publish' //公開ステータス ); $insert_id = wp_insert_post($post_value); if( $insert_id != 0 ){ update_post_meta($insert_id, 'name',$records[$i][0]); //''内はカスタムフィールドテンプレート設定したkey update_post_meta($insert_id, 'fee',$records[$i][1]); echo('テスト'); //確認のためなので無くても良い update_post_meta($insert_id, 'appoint',$records[$i][2]); update_post_meta($insert_id, 'day',$records[$i][3]); var_dump('Successfully Uploaded!'); } else{ var_dump('Error'); } } ?>
その後、yourname.local/wp-admin/load_csv/upload.php/にアクセスし、ブラウザ上でPHPを実行。 すると以下の画面のように表示され、Successfully Uploaded確認できる。
これで自動投稿の完了である。