記事を作成し、カスタムフィールドにcsvの配列を書き込む

Motoki Watanabe 48views 更新:2016年12月19日

まずはWordpressのカスタムフィールドテンプレートでテンプレートコンテンツを作成。

[Name]
type = text
size = 35

[Address]
type = text
size = 35

[Latitude]
type = text
size = 35

[Longitude]
type = text
size = 35

だいたいこんな感じで。この[]の中身が、キーの名前となる。 そして、PHPファイルに以下を書き込む。 この場合は、wp-blog-header.phpがあるwordpressというディレクトリにextendというディレクトリを作成し、その中にimport.phpを作成し、作成している。
wordpress/extend/import.php

//記事を作成、カスタムフィールドに書き込む
require("../wp-blog-header.php");
date_default_timezone_set('Asia/Tokyo');
$todaytime = date('YmdHi', time());
$posttime = date('Y-m-d H:i:s', time());
$content = '藤沢市の避難施設<br>ぜひごらんください';
$post = array(
  'post_author' => 1, // 作成者のユーザー ID。
  'post_content' => $content, // 投稿の全文。
  'post_date' => $posttime, // 投稿の作成日時。
  'post_name' => 'todaysblog'.$todaytime, // 投稿スラッグ。
  'post_status' => 'publish', // 公開ステータス。
  'post_title' => '藤沢市の避難施設', // 投稿のタイトル。
);

$postid = wp_insert_post( $post );

if($postid != 0){
  update_post_meta($postid, "Name", $data[1][2]);
  update_post_meta($postid, "Address", $data[1][3]);
  update_post_meta($postid, "Latitude", $data[1][11]);
  update_post_meta($postid, "Longitude", $data[1][12]);
};

この場合の、update_post_metaの()内の2番目の””内が、キー名となる。 この場合、Nameというキーにdataに入っている配列の2つ目の配列の3つ目のデータ(0が1番目なので)を入れる、というコードである。 dataに入っている配列の作り方は、
【真】CSVデータを読み込ませ、一つの配列にまとめる。
を参照。 これをfor文とかで回せば、配列に入っているデータの数分、記事が作られ、データがWordpressにたまるはず。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません