WP:カスタムフィールドを持つCSVデータを、WPのDBに取り込む
プラグインの csv_importer を使用する。
csv_importer をダウンロードして、有効化する。
1.csvファイルを作成する。
Excel のデータの場合
必要な項目だけにする
csv_impoter は、tsl_posts テーブルの post_title, post_content が必須のため
その項目は残す、無い時は、仮りのデータを入れて作成
必要なら先頭の項目のデータの先頭にデータ内に無い文字を付ける。
エディターで加工するさいに、先頭に ” をつけるため。
先頭となる左橋の項目の隣りに 列を 2列挿入する。
例えば
A1の 1 → 0001 にするときは
隣りの B1 に =”AAA”&text(A1,”0000″) と計算式を設定する
(AAAが各項目の全データに無いものとする)
左端のデータがあるだけ、下向きに式をコピーする
B列の全てのデータを選択して、マウスの右クリックでコピーをクリックする
C列のトップを選択し、マウスの右クリックし
「形式を選択して貼り付け」ー「値(V)」を選び「OK」をクリックする
C列は、実際の入力値のようになるので、A列、B列を削除する
CSV形式で保存する
csv_impoter は、各項目のデータは” ”で囲むようにする。
Excel は、項目内に , や 、がない限り、データを” ”で囲まない。
CSVファイルをエディターで加工する。
① 「,」(コンマ) を 「”,”」に全置換する。
② すると、加工前に ,” “, となったいたデータが
”,”” “”,” となる。
③ 「,””」を検索し、
項目の先行の 「,””」 は 「,”」にする。
項目の途中の 「”,”」 は 「,」にする。
項目の最後の 「””,」 は 「”,」にする。
④ 先頭の特別な文字を 「”」に全置換する。
これによって、
CSVのデータはすべて、” ” となっているはず。
CSVファイルの先頭に、csv_importer が識別する項目名の行を挿入する。
csv_post_title:tsl_postsの post_title に対応
csv_post_post:tsl_postsの post_content に対応
csv_post_type:tsl_postsの post_type に対応
csv_post_date:tsl_postsの post_date に対応
csv_post_author:tsl_postsの post_author に対応
カスタムフィールド名:wp_postmetaの meta_key に対応
例えば、
タイトルA コンテントA カスタムタイプがカスタムA カスタムフィールドが c-A で その値が カスタム値-A だとする。
そのとき、CSVファイルは、
”csv_post_title”,”csv_post_post”,”csv_post_type”,”c-A”
”タイトルA”,”コンテントA”,”カスタムA”,”カスタム値-A”
となる。
csv_importer は上記以外もいろいろな識別子を持っている。
ダウンロードしたファイル内にexampleフォルダに幾つかサンプルがあるので
それを参考にすること。
(注意点)
CSVファイルはUTF-8 で保存する。
インポート後のデータのパーマリンクがデフォルトのもの
?p=(IDの値) となる。
CSVファイルを保存したら、
WPの管理画面の「ツール」メニューの「CSV Importer」をクリックして
Import CSV画面を表示する。
先ほどのCSVファイルを選択して、「import」する。
一度DBの中に入れ込むと、元に戻すのは大変なので
事前にDBのバックアップをとり、
十分用心して行うこと。
以上、自分への覚書として記述。
もし、これを行う人がいれば、自己責任でお願いします。