Ngăn chặn Wordpress tạo kích thước tải lên hình ảnh cỡ trung bình 768px?


10

Tôi đã làm theo hướng dẫn để ngăn chặn wordpress tạo ra nhiều kích thước khác nhau cho từng hình ảnh được tải lên thông qua các kích thước cho hình thu nhỏ, trung bình và lớn đến 0 trong Cài đặt> Phương tiện và đã loại bỏ tất cả các phiên bản add_image_size và set_post_thumbnail_size trong tệp tin.php của tôi chủ đề. Tuy nhiên, khi tôi tải lên hình ảnh mới, Wordpress vẫn đang tạo phiên bản có chiều rộng 768px vượt quá kích thước đầy đủ ban đầu. Tôi tin rằng nó có liên quan đến bản cập nhật này nhưng tôi tự hỏi liệu có cách nào để ngăn chặn nó xảy ra không? Tôi tin rằng tôi đã đọc một số chủ đề mà mọi người đã đạt được nó vô tình cố gắng làm một cái gì đó khác, nhưng tôi đang tìm kiếm một phương pháp rõ ràng.


Bạn có nhận ra rằng WordPress làm điều này để giảm tải máy chủ và tăng tốc trang web của bạn, phải không?
Kenneth Odle

Câu trả lời:


16

Để xóa medium_largekích thước hình ảnh, bạn có thể thử xóa nó bằng intermediate_image_sizesbộ lọc:

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

Không chắc chắn nếu bạn đang cố xóa tất cả các kích thước trung gian, nhưng sau đó bạn có thể thử:

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

trong đó __return_empty_array() ` là một hàm cốt lõi tích hợp.

Chúng ta nên lưu ý rằng không thể xóa nó bằng

remove_image_size( 'medium_large' );

bởi vì nó không được thêm vào add_image_size()và do đó không phải là một phần của $_wp_additional_image_sizesmảng toàn cầu hoặc wp_get_additional_image_sizes();


vâng, cũng có thể thay đổi medium_large_size_wtùy chọn thành 0, nhưng chúng tôi không thể thực hiện được /wp-admin/options.phpvì dường như có vấn đề với giá trị 0 ở đó (đó thực sự là điều tôi đã thử trước khi viết câu trả lời ;-), vì vậy chúng tôi cần đặt nó thông qua API cài đặt hoặc thủ công trong wp_optionsbảng.
bạch dương

7

Xóa kích thước hình ảnh giống như cách mã lõi wordpress thực hiện:

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

Hãy nhớ rằng medium_largenói chung là một kích thước tốt để có srcset, chỉ loại bỏ nó nếu bạn hiểu cách srcsethoạt động, nếu bạn đã có kích thước tương tự ở đó.


2

cái này sẽ hoạt động


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/inter liền_image_sizes_advified /


Mặc dù điều này không tự tạo ra hình ảnh, tuy nhiên nó đã tạo ra mục trong mảng đính kèm, do đó, một mục giả mạo với 769x ở cuối url. Sử dụng filder trung gian_image_sizes mặc định đã loại bỏ việc tạo hình ảnh và không hiển thị một mục nhập cho nó trong mảng.
lowTechsun
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.