Ngăn WordPress tự động cắt ảnh mà không dùng

Bài viết này mình chia sẻ đến bạn cách để ngăn WordPress tự động cắt ảnh mà không dùng – chỉ với vài dòng code chèn vào functions.php của theme/ child theme bạn đang dùng. Đây là thủ thuật mà tốt nhất bạn nên làm ngay từ đầu, trước khi upload ảnh lên web. Vì nếu đã upload nhiều lên rồi thì mắc công xoá thủ công hoặc cài plugin xoá những kích thước ảnh mà WordPress đã tự ý tạo trước đấy, mặc dù bạn không hề dùng/ không cần những kích thước ảnh đó.

Trong hình bên dưới là sau khi mình áp dụng cách trong bài viết này mới gọn như vậy, mỗi ảnh đăng lên là chỉ có file gốc (trừ ảnh đặt làm favicon). Còn nếu không làm thì nó sẽ nhân bản ra mỗi ảnh bạn tải lên thành từ 4-10 ảnh hoặc hơn, tùy theme và plugin bạn đang sử dụng.

Ngăn WordPress tự động cắt ảnh mà không dùng
Ngăn WordPress tự động cắt ảnh mà không dùng (sau khi áp dụng thủ thuật)

Cái này bạn phải xác định được nhé, không phải tự nhiên mà web bạn tự ý cắt ra cả mớ kích thước ảnh đâu. Vì nó cần kích thước để phù hợp ở những chỗ cần hiển thị để tối ưu hiệu suất. Cái này do 3 ông quyết định là: Bản thân WordPress, theme và plugin. Mỗi ông sẽ cắt ra một vài cỡ ảnh, nên một ảnh bạn upload vào bài viết nó cắt ra thành 10 ảnh hoặc hơn là bình thường ^^

Nếu bạn tắt hết thì nó sẽ không có ảnh phù hợp để hiển thị ở những vị trí thumbnail trên trang chủ chẳng hạn, thay vào đó xài ảnh gốc sẽ rất nặng. Còn trường hợp của mình ở đây là khác, mình tắt hẳn tất cả thumbail hiển thị trên trang chủ và bài viết, chỉ hiển thị đúng ảnh gốc mà mình chèn vào bài viết thôi.

XIN LƯU Ý: Bạn phải sao lưu web lại trước khi thực hiện, nhỡ có gì sai sót thì rất nhiều vị trí sẽ không hiển thị ảnh. Vì có thể các ảnh đã cắt là vẫn đang dùng, nhưng bạn không biết.

Bạn copy đoạn code dưới đây rồi chèn vào cuối file functions.php (của theme/ child theme đang dùng) rồi lưu lại. Sau đó vào tạo bài viết nháp và upload ảnh lên bài viết >> đăng bài viết nháp (đăng xong xem kết quả rồi xoá). Mục đích là để kiểm tra xem nó có còn cắt các kích thước ảnh thumbnail như trước đó nữa không.

// NGĂN CẮT ẢNH RA NHIỀU KÍCH THƯỚC Chỉ giữ file gốc – tắt hết mọi image sizes (kể cả plugin cố tình thêm)
add_action('init', function () {
remove_all_filters('intermediate_image_sizes');
remove_all_filters('intermediate_image_sizes_advanced');

add_filter('intermediate_image_sizes', '__return_empty_array', PHP_INT_MAX);
add_filter('intermediate_image_sizes_advanced', '__return_empty_array', PHP_INT_MAX);
add_filter('big_image_size_threshold', '__return_false', PHP_INT_MAX);
}, 1);

Trong trường hợp bạn đã upload lên nhiều ảnh rồi thì vẫn cứ chèn đoạn code trên vào, sau đó cài plugin Regenerate Thumbnails để xoá những ảnh đã cắt.

Trong này có khá nhiều chữ tiếng Anh, nếu bạn không hiểu thì có thể copy chữ trong đó, đem vào Chat GPT / Grok để dịch nghĩa ra cho bạn dễ hình dung. Còn như trong hình bên dưới mình tick vào mục xoá hết các file ảnh thumbnail cũ đã cắt ra nhưng site không dùng (Delete thumbnail file for old ……. in your posts and pages).

Xoá ảnh bị WordPress tự ý cắt trước đó bằng plugin Regenerate Thumbnails
Xoá ảnh bị WordPress tự ý cắt trước đó bằng plugin Regenerate Thumbnails

Tiếp theo là nhấn tạo lại thumbnail vớ tuỳ chọn Regenerate Thumbnails For All 35 Attachments cho sạch sẽ, còn tuỳ chọn thứ 2 thì nó chỉ chạy cho các ảnh đã đặt làm thumbnail thôi. Các con số 35 – 25 là số ảnh mà bạn đã upload lên web và ảnh đã đặt làm thumbnail, mỗi site mỗi khác nhau.

Admin

Tịnh Nguyễn

Mình thích tìm hiểu về WordPress, HTML & CSS. Là tác giả của nhiều bài viết trên blog này và các video trên Kênh YouTube Hocban.vn | Bạn thể xem thêm thông tin tại mục LIÊN HỆ
5 1 đánh giá
Đánh giá bài viết
guest

6 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
Sơn
Khách

Thanks bạn, đang muốn dọn dẹp cái mớ ảnh lộn xộn trên web.

Lê Hải
Khách

Lâu nay chẳng để ý đến nó.

Đàm Ngọc Duy
Khách

Bài mời à. Đánh dấu một phát xem.