とある案件でまとめてページをアップロードする必要があったので、CSVをつかってまとめて記事をアップロードしました。
CSVを使って記事をアップロードすると何が便利かと言うと、いちいち管理画面をつかわずExcelなどの表計算ソフトを使って記事を作れます。
フォーマットが決まってる記事(ネットショップの商品情報や辞書的な記事)などを作る場合は一々管理画面で登録していく場合より楽に記事を作ることが出来ます。
WordPressでCSVアップロードをする場合「CSV impoter」「Really Simple CSV Importer」の2種類のプラグインが有名ですが、前者は長いこと更新されず、後者は私の環境ではうまく動作しませんでした。
なので「WP Ultimate CSV Importer」を使うことにしました。
ただこのプラグイン残念ながらほとんど日本語の情報がない上に、直感的にわかりづらい設計のためちょっと迷いました。
なので覚書を兼ねて日本語の解説をしてみようと思います。
サンプルCSVはファイルをアップロードしてから表示されるトンデモ仕様
この手のプラグインは大体、設定画面内かプラグインフォルダ内にサンプル用のCSVデータがあり、このサンプルデータを元にデータを作っていきます。
しかしWP Ultimate CSV ImporterはサンプルデータがCSVをアップロードした後に表示される画面にリンクがあり、初期設定画面だとどうしたらいいのか迷います。
なんでこんなトンデモ仕様にしたのでしょう。
謎過ぎます。
使うのは左の3つのメニュー
気を取り直してファイルをアップロードするまでの手順を順に追っていきましょう。
- Post
- Page
- Custom Post
- Settings
- Dashboard
と5つ項目がありますが、使うのは主に
- Post
- Page
- Custom Post
の3つだけです。
それぞれ
- Post = 投稿
- Page = 固定ページ
- Custom Post = カスタム投稿
となっています。
CSVアップロード>各項目を割り当て>ページに反映
今回は固定ページをまとめてアップロードしたかったので
- 「Page」をクリック
- Upload fileの「Choose File」をクリック
- CSVファイルをアップロード
- CSVの各項目をWP Ultimate CSV Importerの項目と合わせる
- ページを生成
という流れになりました。
4のCSVの各項目をWP Ultimate CSV Importerの項目と合わせるがちょっとわかりづらい点なのでそこを見てみましょう。
アップロードしたらWP Ultimate CSV Importer側の項目名と紐付けていく
以下の画像は1-3までが終わった状態です。
画面を見るとMap Filedsという項目があります。
左側のpost_idからpost_tagsの項目がWP Ultimate CSV Importer側の設定項目です。
このWP Ultimate CSV Importer側の項目名に自分がアップロードしたCSVの項目名を紐付けていきます。
- post_id = 記事ID
- post_name = 記事名(post_titleと一緒?使用していないので未確認)
- post_author = 投稿ユーザー
- post_date = 投稿日時
- post_password = 記事パスワード
- post_type = 記事種類
- post_status = 記事公開状態(上のImport with post statusでも設定可能)
- post_title = 記事タイトル
- post_content = 記事内容(※必須項目 空でもOK)
- page_template = ページテンプレート
- post_parent = 親記事ID
- post_category = 投稿カテゴリ
- post_tags = 投稿タグ
項目名の右側の「Select」となっている部分をクリックすると自分がアップロードしたCSVで設定した項目名が表示されますので、紐付けたいものを選択します。
選択したものは他の項目では表示されないようになりますので、項目が多くても混乱することはないです。
ただ、これ組み合わせを保持できないので、毎回設定しないといけないのが難点です。
継続的に記事をCSVでアップロードするような場合はかなり面倒くさい。
元のCSVの項目名がなんでも大丈夫なのはいいけど、これならある意味項目名を縛ってくれたほうが結果時間を短縮できるのではないかと思います。
なのでReally Simple CSV Importerなど他のCSVアップロード系のプラグインが動くならそっちをおすすめします。
ちなみにアップロードするCSVの項目数を減らせば、それに合わせてWP Ultimate CSV Importer側の項目も減ります。
私が実際アップロード時に使った項目はわずか4項目でした。
以下がその時の画面です。
post_contentだけは値が空白でも設定が必要で、この項目を「Select」のままで「Import」ボタンを押すと警告が出ます。
中身は空でも大丈夫なので記事を書かないでひとまずアップロードしたいときは、CSV側で空白の列を用意しておくといいと思います。
必要な項目をヒモ付けて「Import」ボタンを押せば完了です。
日本語は文字化けする
この手の海外製プラグインは日本語に対応してない場合が多く、WP Ultimate CSV Importerも同様でした。
WP Ultimate CSV Importerの場合は日本語が入ったCSVをアップロードすると内容が無視されて空白になってしまいました。
対応策としては日本語部分をダブルコーテーション「”日本語”」で囲うことです。
このような感じです。
※英語版のMac ExcelでCSVを編集すると日本語で保存したものが保存した段階で文字化けしてしまい、アップロード以前に元のファイルできちんと保存されませんでした。
多機能だけど他に選択肢があるならそっちのがいい
このプラグイン多機能だし自由度も高いのですが、まとめてアップロードしたい場合って個人的には大体型が決まっていてその型で大量に作りたい場合のほうが多いので、他のプラグインがうまく動かないとかでなければあまりおすすめはしません^^;
あとがき
最近は動画編集の仕事が多かったので久々WPをカスタマイズしました。
PHPはダメだーっていう人も多いけど、Wordpressがあるおかげでいろんなサイトを立ち上げるハードルがすごく下がりました。
いやぁカスタマイズってやっぱ楽しいな。