現在(2023/6/1)では、このプラグインが「CSV Import and Exporter」として別のプラグインとして新しく公開されました。
ここからダウンロードできます。
このプラグインは、先月の11月23日の「WordBench東京 11月勉強会」に参加した時に作り始めました。数日前に公式プラグインとしてリリースしており、WordPress 4.1(RC)でもテスト済みです。
WordPressの記事をCSVファイルでエクスポートできるプラグイン「WP CSV Exporter」です。
自分が作ったプラグインで、公式のものはこれで3つ目です。
どうして作ったのか?
WordPressのプラグインには、CSVでインポートするものは多いのですが、エクスポートするものは少ないんですよね。
その中でも、自分が欲しい機能を兼ね備えているのが無かったのです。
なので、細かいところに手が届く機能(?)をつけてみたので説明していきます。
なお、インストールする方法は、普通のプラグインと同じです。
管理画面の「プラグイン > 新規追加」から「WP CSV Exporter」で検索してインストールしてください。
エクスポートする項目を選択することが可能
インストールすると「ツール > CSVエクスポート」が表示されます。
ここから記事からエクスポートする項目を↓のように選択することが可能です。
「投稿」も「固定ページ」でもダウンロード可能です。
※カスタム投稿タイプについては後述
全ての項目をエクスポートしてしまうと、CSVが見えずらくなってしまうのですよね。
記事タイトル、本文から、投稿者など細かく指定できます。
エクスポートするステータスも選択可能です。
必要な項目だけをエクスポートしましょう。
カスタムフィールド・カスタムタクソノミーもエクスポート可能
そのままスクロールをさせていくと、「タクソノミー」と「カスタムフィールド」の項目が見えてきます。
そうです。エクスポートする項目は、カスタムフィールド・カスタムタクソノミーも可能です。
設定したカスタム項目は、自動的に表示されます。
期間指定やダウンロード件数も指定可能
最後の「その他」のブロックでは、ダウンロード件数や期間を指定することが可能です。
エクセルで編集することも多いと思います。エクセルは、文字コードがShift JISでないと文字化けを起こします。
エクセルで編集するときはShift JISでダウンロードしてください。
また、あまりにもダウンロードする記事数が多いと、サーバーによってはCSVファイルをダウンロードすることができないことがあります。その場合には、この項目でダウンロード数を調整して、別々にCSVをダウンロードしてください。
設定ができたら一番下にある「エクスポート」ボタンをクリックしてください。ファイルのダウンロードが始まります。
Really Simple CSV Importerに対応している(はず)
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」 のような感じです。
add_filter( 'wp_csv_exporter_post_name', 'wp_csv_exporter_post_name_filter', 10, 3 ); function wp_csv_exporter_post_name_filter( $post_name, $post_id ) { //ここでゴニョゴニョする return $post_name; }
カスタムタクソノミーも可能です。
例えば、「dogs」というタクソノミーの時はフィルター名は「wp_csv_exporter_tax_dogs」 になります。
add_filter( 'wp_csv_exporter_tax_dogs', 'wp_csv_exporter_tax_dogs_filter', 10, 3 ); function wp_csv_exporter_tax_dogs_filter( $term_values, $post_id ) { $_term_values = array(); foreach ( $term_values as $key => $term_value ) { $_term_values[] = 'Dog:'.$term_value; //ここでDogs: を追加する。 } return $_term_values; }
カスタムフィールドなども可能です。詳しくは、公式プラグインのこのページか、もしくはプラグインファイル内の「readme.txt」を見てください。
カスタム投稿タイプでもエクスポート可能
これらの機能ですが、デフォルトでは「投稿」と「固定ページ」のみで利用が可能です。
では、カスタム投稿タイプの時はどうするのか?というと、有料アドオンを購入する必要があります。
お値段は$9.8もしくは、¥980です。
どうして有料なのか?
WordPressの公式プラグイン制作は、基本的にはお金になりません。
それは、WordPressの思想『パブリッシングの民主化』であり、素晴らしい所でもあり、また僕がWordPressを好きな理由の一つでもあります。
※詳しくは、「WordPress GPLライセンス」などで検索してください。
しかし、ライセンスの範囲内でお金になる方法がもっと確立された方が、WordPress界ももっと盛り上がると思うのですよね。
ということで、有料アドオンのプラグインは時々ありますが、僕も実験的につけてみました。
普通に使っていれば「投稿記事」のエクスポートが出来れば十分です。
カスタム投稿タイプのCSVがエクスポートしたいなら、それは業務レベルでしょうということで。
もしどうしても、カスタム投稿タイプでも使いたくて、学生さんとかなら連絡くれればファイルをあげるっす。
ということで、WordPressの記事をCSVでダウンロードできるプラグイン「WP CSV Exporter」でした。
自画自賛ですが、エクスポート系の数少ないプラグインの中では、一番使いやすいと思っています。
よかったら使ってください。
WordPress › WP CSV Exporter
WordPress Plugins