_Sでテーマを作成し、ネイティブのGutenbergブロックを使用しています。
画像サイズを設定するfunctions.phpファイルを介した次のコードがあります。
add_theme_support( 'post-thumbnails' );
add_image_size( 'carousel', 1366, 550, true );
add_image_size( 'hero', 1366, 400, true );
add_image_size( 'large-square', 392, 340, true );
add_image_size( 'medium-square', 279, 314, true );
add_image_size( 'small-square', 215, 170, true );
add_image_size( 'diagram', 650 );
add_image_size( 'full-width', 884 );
add_image_size( 'half', 430 );
add_image_size( 'third', 279 );
add_image_size( 'quarter', 203 );
デフォルトの画像サイズを削除する次のコードもあります。
function remove_default_image_sizes( $sizes) {
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['medium_large']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes');
WP CLIを使用して新しい画像を追加したり、サムネイルを再生成したりすると、生成されて認識されない多数の画像サイズがあります。
image-scaled-2048x600.jpg
image-scaled-1536x450.jpg
image-scaled-1024x300.jpg
大きな画像を管理するための新しい方法を導入したのは (最近WordPress 5.3 update )のせいかもしれないと最初は思っていました。
これをfunctions.phpに追加してみました:
add_filter( 'big_image_size_threshold', '__return_false' );
しかし、次のように、スケーリングされた大きな画像がまだ表示されます。
image-scaled-2048x600.jpg
WordPressはこれらの画像サイズをどこから取得していますか?ビルド用の単一のプラグインを実行しています( [〜#〜] acf [〜#〜] )。
犯人を見つけた!
WordPress 5.3は、/wp-includes/media.php
を介して見つけることができる追加の画像サイズを導入しました。
このように関数を更新すると、余分なサイズが削除されました。
function remove_default_image_sizes( $sizes) {
unset( $sizes['large']); // Added to remove 1024
unset( $sizes['thumbnail']);
unset( $sizes['medium']);
unset( $sizes['medium_large']);
unset( $sizes['1536x1536']);
unset( $sizes['2048x2048']);
return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes');