wordpressで、リサイズされる画像の自動生成を停止する方法

resize wordpress images
Advertisements

wordpressでアップロード済みの画像を
整理しようと思ってフォルダを見てみたら、
やたらと同じ画像のリサイズが何個もあるのを見つけて
「うわ!っ」と驚いてしまったので、
wordpressによる、不要なリサイズ画像の自動生成を止める方法を調べてみました。

wordpressで自動生成されるサイズ

使うテーマによっても、異なるサイズが自動生成されたりするため、
状況は異なりますが、wordpressに画像をアップすると、
以下のようなサイズがデフォルトでつくられます。

フルサイズ [full]オリジナルの画像
サムネイル [thumbnail]150px x 150px
中 [medium]300px x 300px
大 [large]1024px x 1024px

下記はwordpressのバージョンによって追加で自動生成されるようになったサイズです。

ミディアムラージ [medium_large]768px x 0 
※レスポンシブ対応のためにつくられる画像で、高さの設定はなし
1536px×1536px
WordPress 5.3から生成
2048px×2048px
WordPress 5.3から生成
最大値 scaled2560px×2560px
最大のサイズで、名前にscaledがつきます

オリジナルの画像のサイズが設定の大きさに満たない場合は、
それ以上の大きさのリサイズ画像はつくられず、
オリジナルより小さいリサイズ画像が作成されます。

今回はサンプルとして、設定をいじらず2000pxの画像をアップロードしてみたら、
下記のようなサイズが自動生成されました。

多い、、やたらと多いです、、、

Visual Portfolio(VP)というプラグインを入れているので、
そちらでさらに自動作成される量が増えているようです。(後ほど消します!)

生成されたリサイズ画像は、投稿画面で画像を選ぶときに、
右のパネルからサイズを選ぶことが可能となります。

順番を追って、余計なリサイズ画像を消す設定を追加していきます。

メディア設定を変更する

まず初めに、wordpressの管理画面から、設定>メディアを選択し、
「サムネイル」「中サイズ」「大サイズ」の幅&高さの数値を全て0にして、保存します。

Advertisements

「Visual Portfolio」の設定も変更

(使っていない方は読み飛ばしてください)

今回入れている、ギャラリーをつくるのに便利な「Visual Portfolio」というプラグインでも
デフォルト設定だと画像を余計につくるようなので、
こちらもvisual portfolio > Iimages から、数字の部分を全て0に変更しました。

これまでの設定をくわえて再度画像アップロードをしてみると、
画像フォルダの方は下記のようになり、
生成される画像が減りました。

function.phpで、add_filterを追加

※function.phpをいじった時に、エラーが出ると動かなく可能性もあるため、
必ずバックアップをとってから行うことをおすすめします。

これまでの設定だと、
まだ768px(‘medium_large)と1536pxの大きさが残ったので、
外観>テーマエディターからfunction.phpを開き、add_filterを使って
画像生成に関しての設定を書き加え、自動生成を止めます。


function remove_default_img_sizes($sizes){
unset($sizes['medium_large']);
unset($sizes['1536x1536']); 
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_img_sizes');

ちなみに、そのほかのサイズも下記のように追加して止めることが可能です。


function remove_default_img_sizes($sizes){
unset($sizes['thumbnail']);
unset($sizes['medium']);
unset($sizes['medium_large']);
unset($sizes['large']);
unset($sizes['1536x1536']); // 1536pxの画像を停止
unset($sizes['2048x2048']); // 2048pxの画像を停止
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_img_sizes');

ここまでの変更を加えて改めてアップロードすると、
無事にフルサイズのみになりました!

Advertisements

add_image_size()

function.phpに変更を加える場合、filter以外の方法では、
add_image_size()の関数で、
画像サイズを0として生成をしないことも可能です。


add_image_size('thumbnail', 0, 0);
add_image_size('medium', 0, 0);
add_image_size('medium_large', 0, 0);
add_image_size('large', 0, 0);
add_image_size('1536x1536', 0, 0);
add_image_size('2048x2048', 0, 0);

最大画像2560px(-scaled)の設定を変更する

あまり使うことはなさそうですが、
WordPress5.3からは、2560px以上の大きさの画像をアップロードした場合、
「フルサイズ」に設定した時に表示される画像として
自動的に2,560pxのサイズにリサイズされ、
名前に「-scaled」がついた画像が生成されるそうです。
(オリジナル画像も画像フォルダ内には残ります)

最大画像の数値設定をなくす場合は、
function.phpに下記を追加します。


add_filter( 'big_image_size_threshold', '__return_false' );

これで高さが2560px以上の大きな画像をアップロードした時も
リサイズがされなくなります!

まとめ

やたらとwordpressのバックアップデータが重たい??と思ってみてみたら
大量のリサイズを発見して、かなり画像をアップした後だったので、消すのが大変でした。。

設定を変えた時点からの適応になり、
すでにアップロードされている画像については適用されないので、
使わない画像をためて後々サーバーを圧迫しないためにも、
まったく使うことのないサイズに関しては、
最初から画像のアップロードサイズ設定を整理しておくのがおすすめです!

Advertisements