01

今回のこの記事は「WORDPRESS ADVENT CALENDAR 2014」の12月16日のものです。

IT・WEB業界では、”アドベントカレンダー”という12月1日から12月25日のクリスマスまでの間、テーマに沿った内容のブログを持ち回りで書いていくというイベントがあるのです。

僕はWordPressの12月16日の担当ということです。

技評さんの下記の記事を見ればわかりますが、他にも色んなテーマでアドベントカレンダーが開かれています。

本日12月1日より,プログラマ有志による2014年の技術系Advent Calendarが各所ではじまる
技術評論社 


WordPressの記事をCSVでエクスポートできるプラグイン

このプラグインは、先月の11月23日の「WordBench東京 11月勉強会」に参加した時に作り始めました。数日前に公式プラグインとしてリリースしており、WordPress 4.1(RC)でもテスト済みです。

WordPressの記事をCSVファイルでエクスポートできるプラグイン「WP CSV Exporter」です。

自分が作ったプラグインで、公式のものはこれで3つ目です。

 

どうして作ったのか?

WordPressのプラグインには、CSVでインポートするものは多いのですが、エクスポートするものは少ないんですよね。

その中でも、自分が欲しい機能を兼ね備えているのが無かったのです。

なので、細かいところに手が届く機能(?)をつけてみたので説明していきます。

 

なお、インストールする方法は、普通のプラグインと同じです。

管理画面の「プラグイン > 新規追加」から「WP CSV Exporter」で検索してインストールしてください。


エクスポートする項目を選択することが可能

インストールすると「ツール > CSVエクスポート」が表示されます。

ここから記事からエクスポートする項目を↓のように選択することが可能です。

「投稿」も「固定ページ」でもダウンロード可能です。

※カスタム投稿タイプについては後述

p01

 

全ての項目をエクスポートしてしまうと、CSVが見えずらくなってしまうのですよね。

記事タイトル、本文から、投稿者など細かく指定できます。

エクスポートするステータスも選択可能です。

必要な項目だけをエクスポートしましょう。

 

カスタムフィールド・カスタムタクソノミーもエクスポート可能

そのままスクロールをさせていくと、「タクソノミー」と「カスタムフィールド」の項目が見えてきます。

そうです。エクスポートする項目は、カスタムフィールド・カスタムタクソノミーも可能です。

設定したカスタム項目は、自動的に表示されます。

p02

 

期間指定やダウンロード件数も指定可能

最後の「その他」のブロックでは、ダウンロード件数や期間を指定することが可能です。

エクセルで編集することも多いと思います。エクセルは、文字コードがShift JISでないと文字化けを起こします。

エクセルで編集するときはShift JISでダウンロードしてください。

 

また、あまりにもダウンロードする記事数が多いと、サーバーによってはCSVファイルをダウンロードすることができないことがあります。その場合には、この項目でダウンロード数を調整して、別々にCSVをダウンロードしてください。

p03

 

設定ができたら一番下にある「エクスポート」ボタンをクリックしてください。ファイルのダウンロードが始まります。


Really Simple CSV Importerに対応している(はず)

02

CSVでエクスポートしたら、編集してインポートしたくなるのが人の常。

そこで、WP CSV ExporterはCSVインポートの人気プラグインの「Really Simple CSV Importer」に対応しています。

 

Really Simple CSV Importerは、インポートするときにCSVの一番上の行で「post_id」のように項目を指定します。

それらの項目名をReally Simple CSV Importerと全て同じにしています。

カスタムタクソノミーも「tax_{taxonomy}」のように同じ文字列になっています。

 

なお、Really Simple CSV ImporterはUTF-8のみに対応です。

Shift JISでダウンロードした時は、文字コードを変更してインポートしてください。

 

対応といっても、そんな感じで勝手に最上段の文字列を揃えただけです。

非公式でやってることなので、何か問題があっても向こうに文句は言わないでくださいね。


CSVをダウンロードする時にゴニョゴニョできる

WordPressには、「フィルターフック」という機能があります。

WP CSV Exporterはエクスポートする時に、全ての項目にフィルターフックが用意されています。

PHPの知識が少し必要ですが、エクスポートする時に「全ての項目を半角英数する」といったことも可能です。

例は公式プラグインのこのページにも載せていますが、いくつかご紹介。

 

フィルターフックを使った例

フィルター名は「wp_csv_exporter_」+「項目名」の形になっています。

例えば、記事タイトルの時は「wp_csv_exporter_post_title」、記事本文なら「wp_csv_exporter_post_content」 のような感じです。

 

カスタムタクソノミーも可能です。

例えば、「dogs」というタクソノミーの時はフィルター名は「wp_csv_exporter_tax_dogs」 になります。

 

カスタムフィールドなども可能です。詳しくは、公式プラグインのこのページか、もしくはプラグインファイル内の「readme.txt」を見てください。


カスタム投稿タイプでもエクスポート可能

これらの機能ですが、デフォルトでは「投稿」と「固定ページ」のみで利用が可能です。

では、カスタム投稿タイプの時はどうするのか?というと、有料アドオンを購入する必要があります。

お値段は$9.8もしくは、¥980です。

p04

 

どうして有料なのか?

WordPressの公式プラグイン制作は、基本的にはお金になりません。

それは、WordPressの思想『パブリッシングの民主化』であり、素晴らしい所でもあり、また僕がWordPressを好きな理由の一つでもあります。

※詳しくは、「WordPress GPLライセンス」などで検索してください。

 

しかし、ライセンスの範囲内でお金になる方法がもっと確立された方が、WordPress界ももっと盛り上がると思うのですよね。

ということで、有料アドオンのプラグインは時々ありますが、僕も実験的につけてみました。

 

普通に使っていれば「投稿記事」のエクスポートが出来れば十分です。

カスタム投稿タイプのCSVがエクスポートしたいなら、それは業務レベルでしょうということで。

 

もしどうしても、カスタム投稿タイプでも使いたくて、学生さんとかなら連絡くれればファイルをあげるっす。


ということで、WordPressの記事をCSVでダウンロードできるプラグイン「WP CSV Exporter」でした。

自画自賛ですが、エクスポート系の数少ないプラグインの中では、一番使いやすいと思っています。

よかったら使ってください。

2014-12-16

WordPress › WP CSV Exporter
WordPress Plugins