Mencegah Wordpress menghasilkan unggahan gambar berukuran 768px ukuran medium_large?

10

Saya telah mengikuti panduan untuk mencegah wordpress menghasilkan banyak ukuran berbeda untuk unggahan gambar individual melalui ukuran untuk thumbnail, sedang dan besar hingga 0 pada Pengaturan> Media dan telah menyingkirkan semua contoh add_image_size dan set_post_thumbnail_size dalam file functions.php file my tema. Namun, ketika saya mengunggah gambar baru, Wordpress masih menghasilkan versi lebar 768px melampaui ukuran penuh aslinya. Saya percaya ini ada hubungannya dengan pembaruan ini tetapi saya bertanya-tanya apakah ada cara untuk mencegahnya terjadi? Saya percaya saya telah membaca beberapa utas di mana orang telah mencapainya secara tidak sengaja mencoba melakukan sesuatu yang lain, tetapi saya sedang mencari metode tebang habis.

pengguna3597545
sumber
Anda menyadari bahwa WordPress melakukan ini untuk mengurangi beban server dan mempercepat situs Anda, bukan?
Kenneth Odle

Jawaban:

16

Untuk menghapus medium_largeukuran gambar, Anda dapat mencoba menghapusnya dengan intermediate_image_sizesfilter:

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

Tidak yakin apakah Anda mencoba untuk menghapus semua ukuran menengah, tetapi kemudian Anda bisa mencoba:

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

di mana __return_empty_array() ` adalah fungsi inti bawaan.

Kami harus mencatat bahwa tidak mungkin menghapusnya

remove_image_size( 'medium_large' );

karena tidak ditambahkan dengan add_image_size()dan karenanya bukan bagian dari $_wp_additional_image_sizesarray global atau wp_get_additional_image_sizes();

birgire
sumber
ya itu juga mungkin untuk mengubah medium_large_size_wopsi 0, tetapi kita tidak dapat melakukannya melalui /wp-admin/options.phpkarena tampaknya memiliki masalah dengan nilai 0 di sana (itu sebenarnya yang saya coba terlebih dahulu sebelum menulis jawaban ;-), jadi kita perlu mengaturnya melalui pengaturan API atau secara manual dalam wp_optionstabel.
birgire
7

Hapus ukuran gambar dengan cara yang sama dengan kode inti wordpress melakukannya:

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

Perlu diingat bahwa medium_largeumumnya ukuran yang baik untuk dimiliki srcset, hanya menghapusnya jika Anda telah memahami cara srcsetkerjanya, jika Anda sudah memiliki ukuran yang sama di sana.

Dima Stefantsov
sumber
2

ini akan berhasil


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/

Sil2
sumber
Meskipun ini tidak membuat gambar itu sendiri, namun ia membuat entri dalam array lampiran, jadi entri palsu dengan 769x di akhir url. Menggunakan intermediate_image_sizes filder default tidak membuat gambar dan tidak menampilkan entri untuk itu dalam array.
lowtechsun