【1】Custom Field Templateの設定
下記のように項目を設定した。 []内は keyとなる。
[fee1] label = 料金/時間(必須) type = textfield size = 200 class = number required [fee2] label = その他料金 type = textfield size = 200 [open] label = 開始時間 type = textfield size = 20 [close] label = 終了時間 type = textfield size = 20
【2】csvから欲しいデータを入れたい場所に入れる方法
<?php require('../../wp-blog-header.php'); $file = new SplFileObject('data.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][1], //post title 'post_content' => 'hi.there', //post content 'post_status' => 'publish' // 公開ステータス。 ); $insert_id = wp_insert_post($post_value); if( $insert_id != 0 ){ update_post_meta($insert_id, 'fee1',$records[$i][15]); update_post_meta($insert_id, 'fee2',$records[$i][16]); update_post_meta($insert_id, 'open',$records[$i][9]); update_post_meta($insert_id, 'close',$records[$i][10]); //var_dump('Successfully Uploaded!'); } else{ var_dump('Error. Insert Id was Zero.'); } }
3行目で利用するCSVファイル(オープンデータ)を取り込む。
Custom Field Templateに欲しい情報を自動で埋め込むには、update_post_meta関数を利用する必要がある。
使い方
<?php update_post_meta( $post_id, $meta_key, $meta_value, $prev_value ); ?>
$post_id (整数) (必須) 更新したいカスタムフィールドを持つ投稿の ID。 初期値: なし
$meta_key (文字列) (必須) 更新したいカスタムフィールドのキー。これは生の値でなければなりません(データベースクエリ時は無害化されます)。 初期値: なし
$meta_value (mixed) (必須) カスタムフィールドの新しい値。配列を与えるとシリアル化されます。これは生の値でなければなりません(データベースクエリ時は無害化されます)。 初期値: なし
$meta_keyにはCustom Field Templateで設定したkey(fee1,close,など)を指定する。
$meta_valueには、対応するkeyに入れたい値を入れれば、自動的にwordpressに投稿される。