WordPressの記事をCSVでダウンロードできるWP CSV Exporterプラグインを作ってみた

01

 

現在(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エクスポート」が表示されます。

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

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

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

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」 のような感じです。

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です。

p04

 

どうして有料なのか?

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

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

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

 

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

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

 

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

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

 

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


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

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

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

2014-12-16

WordPress › WP CSV Exporter
WordPress Plugins

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次