RS CSV Importer Media Add-On 1.0.0 をリリースしました。

最近はconcrete5でおなじみの菱川さんが作った、Really Simple CSV Importerというプラグインがありまして。よくお世話になってます。

この間、画像データを投稿に紐付ける必要がありまして。

出来れば画像はWordPressのメディアとして管理して、カスタムフィールドに画像のIDを突っ込めればなー。カスタムフィールドにURL突っ込めばダウンロードしてこれないかなーって要件がありましてた。

ということで、Really Simple CSV Importerのアドオンプラグインを作りました。

RS CSV Importer Media Add-Onというまんまな名前のプラグインです。

一昨年くらいにフォークしてその機能をつけたりしてたのですが、URLをそのまま使いたいこともあったりで、アドオンにしておいた方がいろいろ便利だなと言うことで。

使い方

Really Simple CSV Importerをインストールして有効化した後、RS CSV Importer Media Add-Onをインストールして有効化して下さい。

その後はReally Simple CSV Importerの使い方と一緒です。カスタムフィールドの欄に画像などWordPressのメディアとして扱えるファイルのURLが存在した場合、ダウンロードして記事のカスタムフィールドの値をメディアのIDに変更します。

CSVのサンプルはこちらを参考にして下さい。https://github.com/torounit/rs-csv-importer-media-addon/blob/master/sample/linux.csv

IDにして保存するので、モンキーレンチのキタジマさんSmart Custom Fieldsとも相性が良かったりします。

インポートするファイルの拡張子の設定

really_simple_csv_importer_media_ext2typeというフィルターフックを作りました。

これにフックすると、インポートするファイルの拡張子を変更することが出来ます。これで、画像はダウンロードするけどPDFへのURLはそのまま、みたいなことも出来るようになってます。

Sample Code
add_filter('really_simple_csv_importer_media_ext2type', 'really_simple_csv_importer_media_ext2type');

function really_simple_csv_importer_media_ext2type( $types ) {
    return array(
        'image'       => array( 'jpg', 'jpeg', 'jpe', 'gif', 'png' ),
        'audio'       => array( 'mp3', 'ogg', 'wav', 'wma' ),
        'video'       => array( 'mov', 'mp4', 'mpeg', 'mpg', 'ogm', 'ogv', 'wmv' ),
        'document'    => array( 'doc', 'docx', 'odt', 'pages', 'pdf', 'psd' ),
        'spreadsheet' => array( 'ods', 'xls', 'xlsx' ),
        'interactive' => array( 'swf', 'key', 'ppt', 'pptx', 'odp' ),
        'text'        => array( 'asc', 'csv', 'tsv', 'txt' ),
        'archive'     => array( 'dmg', 'gz', 'rar', 'tar', 'tgz', 'zip'),
        'code'        => array( 'css', 'htm', 'html', 'php', 'js' ),
    );
}

使い方wp_ext2typeへのフックと変わらないです。というか内部的にはこれ使ってます。なのでデフォルトでは、wp_ext2typeが許可しているモノを全て許可します。svgなどWordPressがアップロードを許可してないモノはまた別に設定が必要です。WordPressの管理画面からアップロード可能なモノのみ受け付けます。

レポジトリ

Github: https://github.com/torounit/rs-csv-importer-media-addon

バグなどあったらプルリク下さいー。