WordPress フォーラムを覗いていたら「メディアの画像を編集を使用すると -e〇〇〇.jpg といった画像が生成される」というようなトピックが立っていました。
気になったので調べてみたら、恐ろしい(?)ことになっていました。
WordPress のデフォルトの動作では、画像を編集すると新しい画像セットが生成されます。最初の画像セットは元の画像へ戻すために残されます。
画像を編集する前のファイル
sample.jpg
sample-150x150.jpg
sample-300x200.jpg
sample-624x416.jpg
sample-768x512.jpg
sample-1024x683.jpg
画像を編集した後のファイル
sample.jpg
sample-150x150.jpg
sample-300x200.jpg
sample-624x416.jpg
sample-768x512.jpg
sample-1024x683.jpg
sample-e1502276701370.jpg
sample-e1502276701370-150x150.jpg
sample-e1502276701370-300x200.jpg
sample-e1502276701370-624x416.jpg
sample-e1502276701370-768x512.jpg
sample-e1502276701370-1024x683.jpg
ここまでの動作はいいとして、ここから更に画像を編集するとどうなるかというと、また新しい画像セットが生成されます。前回の画像セットは削除されることなく残ります。
sample.jpg
sample-150x150.jpg
sample-300x200.jpg
sample-624x416.jpg
sample-768x512.jpg
sample-1024x683.jpg
sample-e1502276701370.jpg
sample-e1502276701370-150x150.jpg
sample-e1502276701370-300x200.jpg
sample-e1502276701370-624x416.jpg
sample-e1502276701370-768x512.jpg
sample-e1502276701370-1024x683.jpg
sample-e1502276754797.jpg
sample-e1502276754797-150x150.jpg
sample-e1502276754797-300x200.jpg
sample-e1502276754797-624x416.jpg
sample-e1502276754797-768x512.jpg
sample-e1502276754797-1024x683.jpg
前回の画像セット(上記ファイルリストでは、sample-e1502276701370-xxx.jpg)は、WordPress からは使用されることはありません。
このような動作なので、画像を編集する度に、画像セットがどんどん生成され続けます。そして、WordPress からは削除されることもありません。メディアより画像を元に戻しても削除されることなく残ります。
不具合なのかと調べてみたら、どうやら仕様のようです。
IMAGE_EDIT_OVERWRITE 定数で true を定義することで、新しい画像セットは一組だけになり、画像を元に戻すことにより生成された画像セットも削除されるようになります。詳細は、WordPress Codex の「wp-config.php の編集」を参照してください。
define( 'IMAGE_EDIT_OVERWRITE', true );
なぜこれがデフォルトではないのか困惑してしまいます。早速、私の運営するサイトすべてに設定しました。
WordPress ってこういうところあるよね(リビジョン数無制限等)・・・。