エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


CSV Importerで WordPressにcsvを取込む

      2015/06/15

CSV Importerで WordPressに csv投稿データを取り込む方法

 

CSV Importerとは

 
CSV Importerとは、CSV形式のファイルで WordPressに投稿データを取り込むためのプラグインです。
 
他のブログサイトから記事を移す場合や、WordPressを CMSとして利用している場合などは、商品情報や店舗情報などをまとめて取り込みたい、というニーズもあると思いますがそんな場合に利用するプラグインです。
 
 
CSVファイルを取り出す方法や CSVを取り出してまた WordPressに戻す方法については下記にも記事を書いていますので、あわせて参考にしてください。
 WordPress csvインポート、エクスポートのプラグイン
 Export to Textで WordPressを csv出力
 
 

CSV Importerのインストール方法

 
WordPressのプラグインのインストールの解説は「WordPressプラグインの3つのインストール方法解説」に記事を書いていますので参考にしてください。
 
 

CSV Importerの使い方

 
「csv importer」を利用すること自体は簡単です。
 
左メニューの「ツール」-「CSV Importer」をクリックすると下記の画面が表示されます。
 
20140423_wp_01
 
この画面で「参照…」ボタンで csvファイルを選択し、「Import」ボタンをクリックすることで csvファイルが WordPressに取り込まれます。
 
正常に登録されると下記のようにメッセージが表示されます。
 
20140423_wp_03
 
Import posts as drafts」にチェックを入れると「下書き」として取り込まれます。一旦下書きとして取り込み、確認したうえで公開、という手続きを踏みたい方はチェックを入れましょう。
 
Organize into category」は、親カテゴリを指定します。
CSVファイルの中に設定されているカテゴリがある場合は、指定されたカテゴリの子カテゴリとして登録されていきます。
また、既存のカテゴリと同じものがある場合は、そこにインポートされます。
 
 

CSV Importerを使うための項目とレイアウトの説明

 
csvで出力したものの一部のテキストを修正したり、バックアップしていたものから復元させる際に利用する場合は、上記のプラグインの使い方が理解できれば問題ありませんが、データを生成する場合は、プラグインの使い方ではなく、WordPressのレコードの持ち方、CSV Importerで取り込む CSVの項目の持ち方について理解しておく必要があります。
 
ここでは、その CSV Importerのレイアウトについての説明を行います。
 
csvファイルのサンプル
————————

————————
 
1行目がタイトルで、2行目以降がデータになります。
 
下記は、編集できる項目です。
(下記の項目の並びは、Export to Textで出力される並びに極力合わせています。)
 
csv_post_title:タイトル
csv_post_date:投稿日時
csv_post_type:投稿タイプ(post:投稿ページ。page:固定ページ)
csv_post_categories:カテゴリ
csv_post_tags:タグ
csv_ctax_タクソノミー名:カスタムタクソノミー。複数ある場合は「,(カンマ)」で区切る。
csv_post_slug:スラッグ
csv_post_post:本文
csv_post_excerpt:抜粋
csv_post_author:著作者
csv_post_parent:親ページID
 
+「カスタムフィールド」
 
 
「csv_」と付いている項目は、投稿、固定ページの最初から設定されている項目です。
 
加えて、csvファイルのサンプルにある「csv_」が付いていない「prefecture」「ward」「address」「access」「item」は、カスタムフィールドとして登録される項目です。
タイトル行に編集している項目名をカスタムフィールドの項目名として登録されます。
 
 
上記の項目は編集することができる項目名ですが、編集する必要がある項目だけを選んで csvファイルを作成すれば OKです。必要がない項目は指定する必要はありません。
例えば、「csv_post_title,csv_post_post」だけの csvファイルを作成することもでき、タイトルと本文のみを登録することができます。編集していない項目は、デフォルトの値が保存されます。
上記の csvファイルのサンプルもすべての項目を設定してはいませんが、全く問題はありません。
 
また、項目の順番も気にする必要はありません。タイトルと本文の順番は「csv_post_title,csv_post_post」でも「csv_post_post,csv_post_title」でも同じように登録されます。
 
システム上の必須の項目はありませんが、タイトルについては、なしで登録することは可能ですが、タイトルがない場合は何のデータか分からなくなります。プログラム上でエラーにはなりませんが、実際の運用上は必須項目と言えるでしょう。
また、すべての項目が空のレコードはインポートされません。
 
上記の通り CSV Importerで取り込む csvファイルを作る際はかなり柔軟な形で作ることが出来ます。
 
 
また、コメントについては、WordPressのオフィシャルサイトの CSV Importerの説明ページに Ver.0.3.1からインポートできるようになったと書いてありました。
ですが、現時点では詳しい情報の確認が出来ていませんので、確認が出来次第追記したいと思います。
 
 


 

実際に試してみるのが早いでしょう

 
この記事の説明を読めば難しい内容ではないことは伝わるとは思いますが、慣れは必要だと思いますので、何度か実験をしてみる方がいいでしょう。
実験をする際のテーブルは、本番のテーブルである必要はありませんので、テスト環境の WordPressを用意して、そこで何度か実験してみるのもいいでしょう。
 
また、本番環境に csvの取り込みをする際は、不具合があった場合などに元に戻す必要が出てくる可能性もありますので、事前に DBのバックアップを取っておく方がいいでしょう。
 
DBのバックアップに関しては、WP-DBManagerが役に立つと思いますので、まだ入れていない方はこちらもお試しください。
 「WordPress データベースを管理するための強い味方のプラグイン WP-DBMANAGER
 
2014.07.06 追記
バックアップに関しては、非常に有名なプラグイン「BackWPup」についての記事を「BackWPupでWordPressのDBもファイルもバックアップ」として 9記事にわたって書いていますので、あわせてそちらも参考にしてみてください。
 
 

CSVファイル加工についての説明

 
csvファイルをエクセルに貼り付ける場合、日付の項目や数値の項目がエクセルによって自動的に変換されてしまう場合がありますので注意しましょう。
 
私は、情報の加工はエクセルで行うこともありますが、テキストエディタでそのまま更新を行う場合もあります。
エクセルで表示するより見づらいことは確かなのですが、細かな修正をする場合はエクセルから csvファイルに出力する手間がないなどのメリットもあります。
 
ちなみに、テキストエディタ等で文字列を置換する場合、タブや行頭などを正規表現で表現して置換することもできます。その際の正規表現としては下記の様になりますので、参考までに。
 
 タブ:\t
 行頭:^ (アクサンシルコンフレックス、カレット)
 行末:$ (ドルマーク)
 
正規表現で置換する場合は、「\t(タブ)」を「”,”」に置換し、行頭、行末を「”」に置換(追加)することでタブ区切りの文字列を、区切り文字として「,」を、囲み文字を「”」にした csvファイルを生成することができます。
 
 

CSV Importerを利用する際に起こった不具合

 
私が実際に CSV Importerを使っている際に発生した不具合についてご紹介することで、CSV Importerを使う際に同じようなところで悩まずに済むんじゃないかと思います。
 
 
CSVファイルの容量が大きすぎる
 
PHPにはアップロードすることができるファイルサイズを設定する項目があります。
その設定は、サーバごとに違いますので、どのサイズまでは OKですとは言えませんが、サイズが大きなファイルをアップロードしようとするとエラーになる場合があります。
容量が大きい場合は、csvファイルを分割しするといいでしょう。CSV Importerは分割して取り込んでも先に取り込んでいたデータに影響を与えることはありません。
 
 
項目の大文字、小文字の違い
 
「csv_post_type」を大文字の「POST」と入力していたことで、下記の画像のように「Unknown post type “POST”.」というエラーが出ました。
しかし、インポート処理で小文字にして取り込まれるため、結果的には問題なく表示されます。
逆に言うと、エラーがある場合はエラーメッセージが出るものの取り込み処理は実行されます。
 
20140423_wp_04
 
 
データは取り込めているが表示されない
 
csvファイルでデータベースに情報は取り込めているのですが、表示がされないという不具合もありました。
 
これについては原因も解決方法も分からないままですが、対処療法としては、一度管理画面から表示されない投稿データを表示し、保存を実行することで表示されるようになりました。
しかも、この不具合は、投稿データの全件が同じような状況になるのではなく、一部の投稿データだけがそのような状況になっていたため、一件一件表示されているかどうかの確認が必要でした。
データが数百件という件数になると対応は非常に面倒なことになります。
 
 
カスタムフィールドのチェックボックスタイプの入力
 
カスタムフィールドのチェックボックスタイプの入力項目で、複数項目にチェックを入れている場合の登録方法が検証し切れていません。
これについては、不具合というよりは必要に迫られなかったために、実際にどのようにすれば登録できるのか検証していない、という状況です。
チェックボックスのフィールドであっても 1項目しかチェックを入れていない状況であれば、チェック項目の値を入れておけば問題なく取り込まれるのですが、複数にチェックを入れていた場合、どのようにして取り込めばいいかの確認がとれていません。
どのようにすればいいか、お分かりの方がいらっしゃればお教えいただけますと助かります。
 
 

リビジョンを削除し、データを軽くしよう

 
詳しくは「Export to Textで WordPressを csv出力」に書いていますが、リビジョンで不要なデータが多いと作業をする際、csvを取り込む際に余計な作業が増えてしまいますので、不要なレコードは削除しておきましょう。
 
また、リビジョンについては「Better Delete Revisionを使って WordPressのリビジョンを削除する方法」にまとめていますので、参考にしてください。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressのおすすめの確認画面付きお問い合わせフォームプラグイン・MW WP Form

MW WP Formは確認画面が付いているオススメのフォームプラグインです。企業サイトを CMSとして構築する際にも利用できる実力派です。

Category Order and Taxonomy Terms Orderでカテゴリ・タクソノミーのタームの順番を並び替える

標準機能では行えないカテゴリやタクソノミーの並び替えを行うプラグインCategory Order and Taxonomy Terms Orderの紹介です。

BackWPupでバックアップ・Jobの設定・保存先の情報設定

BackWPupその3。Jobのバックアップファイルの保存先の設定についての解説。

WordPress 画面が真っ白になる不具合があった場合の対応の一つ

WordPressで画面が真っ白になる不具合があった場合の対応方法の説明です。PHPでエラーが起こっている場合がほとんどですがその対処方法です。

SI CAPTCHA Anti-Spamを使って WordPressのコメントスパム対策をする

コメントスパム対策として入力させない対策の一つとしてCAPTCHAという方法がありそれを簡単に実装できるプラグインSI CAPTCHA Anti-Spamの解説です。

WordPressに Favicon(ファビコン)を設定する(プラグイン必要なし)

WordPressに Favicon(ファビコン)をプラグインなしで設定する方法をサンプルソース付きで説明します。

BackWPupでバックアップ・Jobの設定・保存する情報の設定

BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。

WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーとは?

WordPressのカスタムフィールド、カスタム投稿、カスタムタクソノミーの基本的な内容を解説。お薦めのプラグインと編集方法も解説しサンプルソースなども紹介。

get_categories、get_termsでカテゴリとタクソノミーのターム一覧の編集方法

get_categories()関数やget_terms()関数を使ってタクソノミーのタームを取得し検索処理の部品を作るプログラム作りその解説をしています。

Custom Field Templateで簡単にカスタムフィールドをフル活用

カスタムフィールドを簡単に設定するプラグイン。簡単にカスタムフィールドが管理で来て作業効率が数倍にアップします!