画像をアップロードした際に行われる、別サイズの自動生成を行わないようにする方法です。
オーソドックスなのは、functions.phpにコードを記載する方法です。
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);
上記のコードをfunctions.phpにコードを記載することで、サムネイルや中サイズなどが生成されません。
しかし、全てのサイズに対応しているわけではなく、いくつかの画像サイズは上のように生成されてしまいます。
「アップロードサイズ以外は一切いらない」という場合は、add_image_size…のコードではなく、下記コードに書き換えてしまうのも1つの手です。
function not_create_image($sizes){
$sizes = array();
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'not_create_image');
intermediate_image_sizes_advanced フィルターに渡される $sizes 配列を、空の配列 array() に置き換えます。
結果として、すべての画像サイズの生成が無効化され、アップロードしたオリジナルの画像のみが保存される仕組みです。
しかし、メリットばかりではありません。自動生成は使用場所の最適な画像サイズを提供するためのものなので、記事内で大量に画像を使っていたり、高画質(メガバイト)の画像が多いと一気にサイトが重くなってしまう可能性があります。
画像サイズの自動リサイズ化(記事作成中)を上手く使いながら、自動生成の要否を考えることをおすすめします。
「PHPファイルをいじるのは不安だが、ブロックエディタで画像解像度を毎回変更するのが面倒くさい」という場合は、記事作成時のデフォルトの画像サイズを「フル」にする方法もあります。