Wordpressがmedium_large 768pxサイズの画像アップロードを生成しないようにしますか?


10

WordPressが個々の画像に対してさまざまなサイズのサムネイルを生成するのを防ぐためのガイドラインに従って、[設定]> [メディア]でサムネイル、中、大のサイズを0にして、自分のfunctions.phpファイルのadd_image_sizeおよびset_post_thumbnail_sizeのすべてのインスタンスを削除しました。テーマ。ただし、新しい画像をアップロードしても、Wordpressは元のフルサイズを超える幅768ピクセルのバージョンを生成しています。私はそれがこのアップデートと関係があると信じていますが、それを防ぐ方法はあるのでしょうか?誰かがうっかり他のことをしようとしてそれを達成したスレッドをいくつか読んだと思いますが、私は明確な方法を探しています。


WordPressがサーバーの負荷を軽減し、サイトを高速化するためにこれを実行していることをご存知ですか?
Kenneth Odle 2017年

回答:


16

medium_large画像サイズを削除するには、intermediate_image_sizesフィルターを使用して画像サイズを削除してみ ます。

add_filter( 'intermediate_image_sizes', function( $sizes )
{
    return array_filter( $sizes, function( $val )
    {
        return 'medium_large' !== $val; // Filter out 'medium_large'
    } );
} );

すべての中間サイズを削除しようとしているかどうかはわかりませんが、次に試すことができます。

add_filter( 'intermediate_image_sizes', '__return_empty_array', 999 );

ここで、__return_empty_array() `は組み込みのコア関数です。

で削除することはできないことに注意してください

remove_image_size( 'medium_large' );

追加されていないためadd_image_size()$_wp_additional_image_sizesグローバル配列またはの一部ではありません wp_get_additional_image_sizes()


はい、medium_large_size_wオプションをに変更することも可能ですが、0の値に問題があるように見えるため、0これを行うことはできません/wp-admin/options.php(実際に、答えを書き込む前に最初に試したことです;-)。設定する必要があります。設定APIを使用するか、wp_optionsテーブルで手動で。
バージール2017年

7

wordpressコアコードが行うのと同じ方法で画像サイズを削除します。

add_filter('intermediate_image_sizes', function($sizes) {
    return array_diff($sizes, ['medium_large']);
});

medium_largeは通常で適切なサイズであることを覚えておいてください。同じようなサイズがすでにある場合は、動作srcsetを理解している場合にのみ削除してくださいsrcset


2

これはうまくいく


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

https://developer.wordpress.org/reference/hooks/intermediate_image_sizes_advanced/


これは画像自体を作成しませんでしたが、添付配列にエントリを作成しました。そのため、URLの最後に769xがある偽のエントリです。デフォルトのfilder_intermediate_image_sizesを使用すると、イメージが作成されず、配列にそのエントリが表示されませんでした。
lowtechsun 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.