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

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/
- 公開日: 2015-04-14T09:30:04+09:00
- 作成者: Toro\_Unit

最近はconcrete5でおなじみの[菱川さん](http://notnil-creative.com/)が作った、[Really Simple CSV Importer](https://wordpress.org/plugins/really-simple-csv-importer/)
というプラグインがありまして。よくお世話になってます。

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

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

ということで、[Really Simple CSV Importer](https://wordpress.org/plugins/really-simple-csv-importer/)
のアドオンプラグインを作りました。

** [RS CSV Importer Media Add-On](https://wordpress.org/plugins/rs-csv-importer-media-addon/)**
というまんまな名前のプラグインです。

[一昨年くらいにフォークしてその機能をつけたりしてたのですが](https://github.com/torounit/rs-csv-importer-media-plus)、
URLをそのまま使いたいこともあったりで、アドオンにしておいた方がいろいろ便利だなと
言うことで。

## 使い方

[Really Simple CSV Importer](https://wordpress.org/plugins/really-simple-csv-importer/)
をインストールして有効化した後、[RS CSV Importer Media Add-On](https://wordpress.org/plugins/rs-csv-importer-media-addon/)
をインストールして有効化して下さい。

その後は[Really Simple CSV Importer](https://wordpress.org/plugins/really-simple-csv-importer/)
の使い方と一緒です。カスタムフィールドの欄に画像などWordPressのメディアとして扱える
ファイルのURLが存在した場合、ダウンロードして記事のカスタムフィールドの値をメディア
のIDに変更します。

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

IDにして保存するので、[モンキーレンチのキタジマさん](http://2inc.org/)の[Smart Custom Fields](https://wordpress.org/plugins/smart-custom-fields/)
とも相性が良かったりします。

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

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

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

##### Sample Code

    ```decode:true
    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](https://github.com/torounit/rs-csv-importer-media-addon)

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

## コメント

### 投稿者: kaorin

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6087
- 公開日: 2016-11-01T15:24:00+09:00

ありがとうございます。
 なんとかこの記事に出会えて解決いたしました。

Really Simple CSV Importerで登録後、画像が出てこなく調べても解決に至らず（私の知識
不足もあり。。。）
 RS CSV Importer Media Add-Onを併用させていただき一瞬で解決に
至りました。 分かり易く書いていただいたので感謝です。

### 投稿者: Nami Takada

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6080
- 公開日: 2016-10-04T16:32:00+09:00

お世話になります。
 RS CSV Importer Media Add-Onを使わせていただいております。

大量のデータと画像（数千件ほど）を「Really Simple CSV Importer」と 「RS CSV Importer
Media Add-On」を使用してカスタムフィールド（Advanced Custom Fields使用）にインポート
させたのですが、公開ページを見ると画像だけが表示されません。

※post\_statusは「publish」、カスタムフィールドの画像の返り値は「画像URL」です。

ソースを見るとのように（%post\_id%に1を＋した値）となっており、
 各ページの編集画面
を開いて「更新」ボタンを押すと画像が正常に表示されますが、一括編集で「更新」を押して
も表示されません。

件数が多いので、一件づつ開いて更新、というのも大変なので困っております。

また、「下書き」にしてインポートし、一括で公開も考えましたが、公開すると「公開日時」
が変わってしまうため（変更したくない事情があり）post\_statusは「publish」のままで
作業したいと考えております。

何かヒントがあればご教授いただけると助かります。
 どうぞよろしくお願いします。

### 投稿者: Toro\_Unit

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6081
- 公開日: 2016-10-04T19:11:00+09:00

プラグインに関する問い合わせは、WordPress のサポートフォーラム( [https://ja.wordpress.org/support/](https://ja.wordpress.org/support/))
がありますので、そちらでお願いします。

出力される数字は、アップロードされたメディアのIDかと思います。
 ACFは内部で独自の
形式で値を保存するためそのような状態になっているものと思われます。

なのでどこかのタイミングでACFの形式に保存し直す必要があります。https://www.advancedcustomfields.
com/resources/update\_field/

### 投稿者: Nami Takada

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6082
- 公開日: 2016-10-05T10:07:00+09:00

ご返信ありがとうございます。
 ACFの形式に保存し直す方向で検討してみます。 ありがとう
ございました。

### 投稿者: Toro\_Unit

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6083
- 公開日: 2016-10-05T13:56:00+09:00

フォーラムにも投稿して頂いていたようですね。失礼しました。タグなどを付けておいて
頂けると、こちらも気づきやすいです。

### 投稿者: Nami Takada

- リンク: https://torounit.com/blog/rs-csv-importer-media-add-on-1-0-0-%e3%82%92%e3%83%aa%e3%83%aa%e3%83%bc%e3%82%b9%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comment-6084
- 公開日: 2016-10-05T17:47:00+09:00

フォーラムにも返信いただきありがとうございました。
 なんとかやってみます。
