WordPressで記事の一括投稿

WordPressで記事の一括投稿をする必要があり
調べた内容を備忘録も兼ねてメモ。

 

会社で新たに情報サイトをWordPressで構築しており、
オープン時点で数百のページを投稿する必要があるが、
まさか管理画面からひとつずつ投稿する訳にもいかないので
一括投稿の方法を調べてみた次第である。

前職でECサイトの商品を大量に登録する際、
CSVで一括登録をした事は何度かあるので
同じようにWordPressでも出来るだろうと思って調べてみると
どうやらReally Simple CSV Importerというプラグインを
使う事で出来るみたいだ。

 

参考にしたのは下記のサイト。

http://liginc.co.jp/web/wp/plug-in/58046

http://www.invision-inc.jp/web/wordpress-5/

 

今回私が作成したCSVの項目は下記。

post_status
→これをpublishで指定しないと下書きで止まる。

post_author
→投稿者のユーザー名を指定。

post_category
→投稿するカテゴリー名を指定。

post_name
→URLになるスラッグを指定。
気にしない場合は割愛しても可。

post_title
→記事のタイトル

post_content
→記事の内容

カスタムフィールド名
→カスタムフィールド名を日本語でそのまま。
波括弧(中括弧)で囲うと説明があるがなくて大丈夫。
Advanced Custom Fieldsで作成したフィールド名そのまま。

post_thumbnail
→アイキャッチ画像に使う画像のファイル名。
実際はCSVのインポートの前に管理画面のメディアから
画像をまとめてアップロードをするので、
そのWebサイト所定のURL+ファイル名

例)http://ドメイン/wp-content/uploads/ファイル名
※アップロードしたファイルを年月ベースのフォルダに整理しない場合

 

以上です。

エクセルでCSVを作成する場合は文字コードがShift_JISなので
一旦エディタで開いてUTF-8に文字コードを変換して保存し直す必要がある。

私が使ったCSVファイルをサンプルとして下記にアップ。

サンプルCSV(shift_jis)

サンプルCSV(UTF-8)

 

特に問題なく便利に使えそうだと感じたが、
1点だけ、運用面で懸念点がある。

エクスポートをする際は、
デフォルトではCSVではなくxml形式で吐き出される。

CSVでエクスポートできる別のプラグインも試してみたが、
スラッグ名が取得できなかったりと問題点が散見された。

エクスポートが簡単にはできないと最初から心得たうえで
インポート用のCSVをしっかりバージョン管理する必要があると感じた。

 

【追記】
文字コード変換ってどうするんや?という人向けに念のため。

Windowsのメモ帳は文字コード指定ができず、
すべてshift_jisで保存されてしまう。
エクセルも同じくshift_jisでしか保存できない。

なのでCrescent EveとかTeraPadとかフリーのエディタを使う。

Crescent Eveの場合、
名前をつけて保存の際に文字コードが選択できる。

文字コードを指定して保存

 

流れとしては、エクセルで作成したデータを
名前をつけて保存でファイルの種類を
xlsやxlsxではなく、csvに変更して保存。

この時点での文字コードはshift_jisなので
そのcsvファイルをエディタで開いてから
名前をつけて保存で文字コードをutf-8に指定して保存する。

そのcsvをインポートすればOK。