web-dev-qa-db-ja.com

WordPress存在しない拡大縮小された画像の追加(1536x1536および2048x2048)

_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 [〜#〜] )。

3
Sam

犯人を見つけた!

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');
8
Sam