Quản lý các size hình ảnh phát sinh trong WordPress
Với mã nguồn WordPress, hình ảnh khi được upload sẽ tự động phát sinh cách hình ảnh có size khác nhau. Đây cũng được xem là ưu điểm của WordPress, vì việc sinh ra các hình ảnh có kích thước sẽ giúp trang load nhanh hơn với những ảnh có kích thước nhỏ gọn.
Ví dụ: Nếu trong theme có hàm gọi file media với kích thước nào đó thì nó sẽ tự lôi ra kích thước tương ứng, chẳng hạn như chúng ta muốn lôi ảnh với size dạng thumbnail thì là:
the_post_thumbnail( ‘thumbnail’ );
Mặc định có 3 size hình ảnh được tạo ra:
- thumbnail
- medium
- large
Quản lý các size hình ảnh phát sinh trong WordPress
Điều này đồng nghĩa với khi 1 hình ảnh upload thì sẽ sinh ra ít nhất 4 hình (tùy theo template & plugin bạn sử dụng), và tất nhiên mỗi hình có kích thước khác nhau và dung lượng nhất định.
Bạn vào /wp-content/uploads sẽ thấy cụ thể, hình dưới là số lượng hình trong site của mình có 9 size hình được sinh ra.
Nếu như số lượng hình của website chỉ vài chục hay vài trăm thì không có vấn đề. Nhưng đối với những site thương mại điện tử hay tin tức có số lượng page lớn và sử dụng hình ảnh lên con số hàng ngàn thì ta cần xét đến yếu tố này, vì nó sẽ làm tốn nhiều dung lượng ổ cứng trên host.
Vậy thì làm sao để WordPress không sinh thêm ảnh ra nữa?
Cách đơn giản nhất là bạn hãy vào Settings -> Media và đưa tất cả các thông số về 0 như trong ảnh dưới.
Đưa các tham số về 0 để tắt tự động sinh ra ảnh.
Nhưng không chỉ dừng lại ở đó. Nếu bạn có cài thêm một số plugin mà trong đó họ có khai báo một size ảnh mới thì nó sẽ tiếp tục tạo ảnh ra, chẳng hạn như plugin NextGen Gallery, Yet Another Related Posts,…Vậy làm thế nào để ngăn chặn chúng không sinh thêm size ảnh nữa? Đó là hãy cài plugin AJAX Thumbnail Rebuild bằng cách:
Admin => Plugins => Add new => Search “AJAX Thumbnail Rebuild” => Install & Activate
Sau khi cài đặt xong bạn vào Tools -> Rebuild Thumbnail là bạn sẽ thấy danh sách các key size ảnh đang có trên website là các ký tự in nghiêng (như hình dưới) tùy vào theme & plugins bạn sử dụng mà có những dòng in nghiêng tương ứng nhé.
Để vô hiện hóa bạn truy cập vào host hoặc vào Editor trong Admin => thêm vào file functions.php hàm sau:
function remove_unused_image_size( $sizes)
{
unset( $sizes[‘thumbnail’]);
unset( $sizes[‘medium’]);
unset( $sizes[‘large’]);
unset( $sizes[‘thumbnail’]);
unset( $sizes[‘medium’]);
unset( $sizes[‘large’]);
unset( $sizes[‘featured-image’]);
unset( $sizes[‘art-thumb’]);
unset( $sizes[‘art-big-2col’]);
unset( $sizes[‘art-slide’]);
}
add_filter(‘intermediate_image_sizes_advanced’, ‘remove_unused_image_size’);
Nhớ thay đổi lại tên key của size ảnh cho phù hợp với mỗi theme và plugins mà bạn sử dụng với mỗi size là một dòng unset nhé và tất nhiên những hình nào bạn không muốn nó phát sinh mới thêm vào đây. Kể từ bây giờ khi bạn upload ảnh lên thì nó sẽ không tự cắt ra các size hình ảnh mà bạn đã xóa nữa.
Thế khi xóa size ảnh rồi thì các file ảnh cũ của size đó có được xóa không? Câu trả lời đơn giản là không, nhưng bạn có thể xóa nó, bằng cách dùng plugins sau để xóa những hình ko sử dụng. Ảnh không sử dụng ở đây nghĩa là file ảnh đó không được đính kèm vào bài viết nào cả. Để xóa các ảnh đó, bạn có thể sử dụng plugin miễn phí Image Cleanup