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 và kết hợp với plugin xoá ảnh đã cắt.

Đâ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 (có thể phát sinh lỗi).

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)

Trong hình trên là kết quả 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 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.

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 hiển thị ở chỗ phù hợp để 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 ^^

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.

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.

Phương án ngăn không cho cắt ảnh

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 (kể cả ảnh plugin tự cắt)
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.

Phương án cắt ảnh theo ý muốn

Trước khi thực hiện đều phải sao lưu web dù thực hiện theo hướng nào. Phương án dưới đây thì đơn giản hơn, bạn cài đặt và kích hoạt plugin ThumbPress, sau đó chọn tính năng Disable Thumbnails lên sẽ hiện ra bản các kích thước cần tắt như hình bên dưới. Tiếp đến, kéo thả những kích thước ảnh không sử dụng bỏ qua bên cột Sizes Disabled rồi nhấn lưu thiết lập.

Kéo thả những kích thước ảnh không sử dụng bỏ qua bên cột Sizes Disabled
Kéo thả những kích thước ảnh không sử dụng bỏ qua bên cột Sizes Disabled

Tuy nhiên, phải biết được site bạn cần xài kích thước nào thì mới làm nhé, kẻo tắt mất kích thước đang dùng thì không tối ưu. Ảnh trên là mình kéo thả đại để chụp ảnh demo cho bạn tham khảo về thao tác kéo thả. Chứ như site Hocban.vn thì kéo ném hết qua bên cột Sizes Disabled vì mình không dùng thumbails trên danh sách bài viết.

Chưa xong đâu bạn, này chỉ là áp dụng cho từ thời điểm bạn tắt các kích thước mong muốn thôi, các ảnh đã cắt trước đó thì vẫn còn lưu (có thể xem là rác). Bạn vào Modules >> bật tick vào tính năng Regenerate Thumbnails nữa là oke.

Tịnh Nguyễn
Admin

Mình hay vọc về WordPress, HTML & CSS để cải thiện trải nghiệm duyệt web trên Hocban.vn | Bạn có thể vào mục giới thiệuliên hệ để xem thêm thông tin chi tiết hơn nè.

5 3 đánh giá
Đánh giá bài viết
guest

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

Á… có cái này đỡ tốn tài nguyên host phết nhỉ? Tý phải thử liền xem sao!

Góp ý thêm tý…. cập nhật đầy đủ tiêu đề bài viết phải là “Ngăn WordPress tự động cắt ảnh mà không dùng plugin” …. thiếu mỗi từ plugin mà cấn ra phết

VietHouse
Khách
Trả lời  Tịnh Nguyễn

Tiêu đề cấn thật mà, tự dưng đến đoạn “không dùng” là thấy thiếu rồi…

TrungLun0112
Khách

Kaka, vừa test với site gần 10k ảnh, thấy xóa trong vòg chưa đc 10 phút :D. Thanks bác đã chia sẻ 😀

Hocban.vn
Admin
Trả lời  TrungLun0112

Ái chà, vậy thì quá ngon, mừng dùm cho bác, haha !

Trân
Khách

Tự nhiên có một ảnh mà nó cắt ra quá trời hết biết đường nào mà lần luôn. Cảm ơn bạn đã chia sẻ.

Hocban.vn
Admin
Trả lời  Trân

Không có chi ngừ đẹp nè, lai rai ghé giao lưu với Hocban.vn nhen ^^

Từ điển cuộc sống
Khách

Mình đang cần xóa ảnh tự động cắt. hix mới viết bài có 5 tháng mà 10gb ổ cứng toàn ảnh. upload 1 ảnh lên nó tự động cắt 16 tấm. để làm thêm cách chủ thớt xem ok không. 🙂

Hocban.vn
Admin

Vậy là trúng ý bác rồi, nhớ sao lưu web trước khi làm bác nhé ^^

Kiên
Khách

Trong bài về Quản trị hình ảnh của bác Thạch Phạm có đề xuất plugin AJAX Thumbnail Rebuild. Nó tìm ra các hình ảnh do theme và cả plugin, vì thế có thể ngăn cắt ảnh triệt để hơn.

Hocban.vn
Admin
Trả lời  Kiên

Uầy, lâu ngày quá bác Kiên hỉ. Em dùng host bên Azdigi mà em cũng không để ý cái đề xuất này nữa, để em thử nghiệm xem sao. Cảm ơn bác đã chia sẻ nhé !

Kiên
Khách
Trả lời  Hocban.vn

Sắp 8/3 rồi, em tâm tư quá bác ạ nên cũng ít lên hocban.vn chém gió 🙁

Hocban.vn
Admin
Trả lời  Kiên

Bác tâm tư vụ gì dẫy ta ^^, hình như bác có dợ rồi mà nhỉ ? Hồi nào rảnh thì vào quẩy tí với e cho dui :V

Kiên
Khách
Trả lời  Hocban.vn

Có dợ rồi nên mới tâm tư :)) quà nghĩ ra được thì mấy năm trước tặng hết rồi, năm nay ko biết tặng gì :))

Hocban.vn
Admin
Trả lời  Kiên

Là dợ rồi thì chị em thường cần thực tế và tiết kiệm. Bác tặng cho cái gì đó xài được, có giá trị sử dụng, chứ tặng hoa hoè thì có điều kiện mới tặng thêm ^^

Sabo
Khách

Thanks a, đơn giản nhưng rất hữu ích.

Hocban.vn
Admin
Trả lời  Sabo

Hữu ích thì làm thử đi nhen ^^

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.