SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【WordPress】既存の画像をWordPressのメディアに取り込む

問題

もともとWordPress管理していなかった既存の画像が多数ありまして、

これをWordPressの管理画面の「メディア」に取り込みたいです。

FTPでまとめてアップロードして一括でインポートできるような機能はないですか?

答え

WordPressの標準機能にはないので、プラグインを使うとよい。

こちらがちょうどよい。

Bulk Media Register

インストール方法

Bulk Media Register は、管理画面の「プラグイン > 新規追加」で “Bulk Media Register” で検索すると見つかる。

インストールしたら有効化する。

使用例

設定には、対象のディレクトリ、対象外のディレクトリ、phpの実行時間の設定などあるが、指定したディレクトリの中の画像を取り込むだけなら特に設定しなくてもそのまま使える。

画像は wp-content や wp-content/uploads などに適当にディレクトリを作ってアップロードしてよい。

一つのフォルダにフラットに画像ファイルが並んでいる状態でも、年月日フォルダなどでいくつかの階層に分かれている場合でも対応可能。

指定したディレクトリの中を再帰的にファイルを探してくれる。

画像の準備ができたら次へ。

++

メニューに、「Bulk Register」と「Select Register」がある。

画像を選ぶ必要がなければ Bulk Register でよい。

こんな調子で進んでいく。

テーマや設定に従ってサムネイルも作られる。

画像1個に対して以下のような状態になるのでそのつもりで。

IMG_0230.JPG ← オリジナル画像
IMG_0230-1024×683.jpg ↓ 以下サムネイルなど
IMG_0230-150×150.jpg
IMG_0230-1536×1024.jpg
IMG_0230-1568×1045.jpg
IMG_0230-2048×1365.jpg
IMG_0230-300×200.jpg
IMG_0230-768×512.jpg
IMG_0230-scaled.jpg

幅2560pxを超える大きな画像は *-scaled.jpg が作られる。これはWordPressの投稿画面からメディアファイルをアップロードした時と同じ。オリジナルの原寸画像を使いたい場合は設定が必要

今回試した環境では、デジタルカメラの画像200枚で30分かかっている。負荷にならないようにゆっくり進めているように見える。800枚あるので2時間ぐらいかかりそう。

プラグインを使わない方法はない?

プラグインを使わずに自力でも対応できなくはない。

wp_posts に post_type を attachment として登録していけばよいのだが、ファイル名、パス、URL以外に、mime_type や作成日時など埋めるべき値があり、そこそこ手間がかかる。

また、サムネイルも作らねばならない。

出来合いのプラグインを使うのが簡単だと思う。

メモ

WordPressの通常の引っ越し作業では、データベースのコピーとwordpressディレクトリのコピーをすれば問題は起きない。

もともとWordPress管理していなかった画像ファイルを「メディア」で呼び出せるようにしたい時などにやるとよい。

関連するメモ

コメント