Trang chủ / Quản lý Wordpress / Ngăn WordPress tạo ảnh với nhiều kích thước khác nhau

Ngăn WordPress tạo ảnh với nhiều kích thước khác nhau

WordPress tạo ra nhiều ảnh với kích thước khác nhau để làm gì?

Trước tiên, bạn cần biết có bao nhiêu kích thước được tạo ra khi tải lên một hình ảnh.

Hãy thử upload 1 hình ảnh lên Media trong trang quản trị. Sau đó truy cập vào hosting, sử dụng FTP client hoặc vào File Manage trong cPanel để biết bao nhiêu phiên bản được tạo thêm. Tìm thư mục /wp-content/uploads/, các hình ảnh được upload và được wordpress tự động tạo ra sẽ có ở đây:

Một hình ảnh upload được tạo thêm nhiều bản sao

Như bạn thấy hình trên, WordPress của “MMO nào” tự động tạo ra 8-10 kích thước cho mỗi hình ảnh.

Ngoài ảnh gốc, Mặc định WordPress sẽ tự động tạo thêm 6 kích thước ảnh khác: bao gồm thumbnail (150 x 150), medium (300 x 300), large (1024 x 1024), medium_large (768 x chiều cao không giới hạn), 1536 x 1536 (Medium Large x 2) và 2048 x 2048 (Large x 2). Ngoài những kích thước này, WordPress Theme của bạn có thể tạo các kích thước khác cho featured image/post thumbnail, sliders…

WordPress nó cắt ra để xài đó chứ ko phải vô cớ đâu, nó cắt ra các ảnh nhỏ hơn để hiển thị cho các kích thước ảnh thumbnail để nó hợp với theme đã thiết kế, ngoài ra nó làm nhẹ đi giúp tải trang nhanh hơn.

Nếu trong theme có hàm gọi file media tương ứng với tên size hoặc số size của nó thì nó sẽ tự được lôi ra, chẳng hạn như họ muốn sử dụng ảnh với size dạng thumbnail thì là:

Ví dụ: Bạn tải lên một cái hình gốc có kích thước là 2500 x 1200 nếu nó không cắt ra những hình nhỏ như 350 x 250 để làm thumbnail cho bài viết liên quan, bài viết gần đây thì sẽ nặng. Hơn nữa ảnh thumbnail trên trang chủ cũng chỉ nên để 350 x 250 vì kích thước nhỏ quá nó mờ cũng xấu mà lớn quá nó nặng mà không cần thiết.

Tại sao cần ngăn chặn tự động resize ảnh

Đa số người dùng muốn ngăn chăn việc tạo thêm các bản sao. Vì hàng ngàn ảnh tải lên website cùng với các bản sao của chúng sẽ tiêu tốn dung lượng lưu trữ, giảm tốc độ tải trang. Và để tiết kiệm không gian hosting thì bạn nên ngăn chặn wordpress tạo ra những bản sao hình ảnh mà website không sử dụng.

Túm lại là: việc nó cắt ra nhiều quá làm đầy và “rác” bộ nhớ, có mỗi cái ảnh mà nó nhân bản ra cả chục cái, nhìn là thấy không thích rồi. Như vậy nếu đã không thích thì làm thế nào để ngăn chặn triệt để việc tạo thêm các kích thước ảnh “vô tội vạ” đó. Tuy nhiên, hãy xác định chính xác những kích thước ảnh mà website không cần dùng đến. Sau đây là một số cách để ngăn chặn wordpress tạo ảnh bản sao không cần thiết (nhớ backup website trước khi thực hiện).

  • Ngăn WordPress tạo ảnh với các kích thước mặc định trong phần cài đặt media.
  • Loại bỏ các kích thước ảnh mặc định của Theme bằng cách thêm đoạn code trong file functions.php.
  • Ngăn chặn WordPress tạo ảnh bằng Plugin
  • Xóa ảnh đã cắt mà không dùng bằng plugin (backup website trước khi làm).

Ngăn WordPress tạo ảnh với các kích thước mặc định

Trong trường hợp không sử dụng 6 kích thước mặc định của WordPress, bạn có thể vô hiệu hóa các kích thước Thumbnail, Medium và Large của WordPress bằng cách thiết lập các thông số về 0. Trong trang quản trị, vào Settings > Media và thiết lập thông số như hình:

Chú ý: WordPress sử dụng kích thước nhỏ cho Gallery, cho nên nếu thay đổi về 0 thì Gallery có thể không hoạt động.

Loại bỏ các kích thước ảnh mặc định của Theme

Ngoài WordPress, theme và các plugin mà bạn cài đặt trên website có thể cũng đang “âm thầm” làm điều tương tự.

Hãy cài plugin AJAX Thumbnail Rebuild sau đó vào Tools > Rebuild Thumbnails. Tại đây, nó sẽ liệt kê ra tất cả các kích thước ảnh mà WordPress và theme của bạn đang tạo ra.

Sau đó, chèn đoạn code dưới đây vào cuối file functions.php của theme (hoặc child theme) mà bạn đang sử dụng sẽ giúp ngăn chặn việc tạo ra các kích thước hình ảnh không cần thiết. Bạn có thể tìm file functions.php bằng cách vào cPanel > File Manager > Tìm thư mục wp-content > themes > tên theme bạn đang sử dụng > functions.php. Nên dán vào file functions.php trong child-theme để khi cập nhật theme bạn không phải làm lại.

function remove_unused_image_size( $sizes) {
unset( $sizes[‘medium’]);
unset( $sizes[‘medium_large’]);
unset( $sizes[‘large’]);
unset( $sizes[‘1536×1536’]);
unset( $sizes[‘2048×2048’]);
unset( $sizes[‘jnews-360×180’]);
unset( $sizes[‘jnews-750×375’]);
unset( $sizes[‘jnews-1140×570’]);
unset( $sizes[‘jnews-120×86’]);
unset( $sizes[‘jnews-750×536’]);
unset( $sizes[‘jnews-1140×815’]);
unset( $sizes[‘jnews-360×504’]);
unset( $sizes[‘jnews-75×75’]);
unset( $sizes[‘jnews-featured-750’]);
unset( $sizes[‘jnews-featured-1140’]);
return $sizes;
}
add_filter(‘intermediate_image_sizes_advanced’, ‘remove_unused_image_size’);

Trên đây là đoạn code dành cho website của mình. Vì website của mình cần kích thước 350×250 để dùng làm hình thumnail cho các bài viết mới nhất, bài viết gần đây và kích thước 150×150 làm thumnail cho các bài viết liên quan nên mình sẽ giữ lại các kích thước này.

Có bao nhiêu kích thước ảnh được tạo ra mà bạn không dùng thì có bấy nhiêu dòng unset ở dưới. Nhớ thay giá trị trong ngoặc vuông bằng tên in nghiêng trong plugin AJAX Thumbnail Rebuild của bạn. Sau đó nhấn save để lưu lại.

Bây giờ các bạn vào lại Tools > Rebuild Thumbnails để xem còn những size ảnh mà bạn đã bỏ đi không nhé.

Hãy chú ý rằng, những kích thước ảnh được tạo ra có thể được dùng trong việc tạo ảnh đại diện cho bài viết, slider, hoặc bài viết liên quan…. Chỉ xóa chúng khi bạn chắc chắn việc làm đó sẽ không ảnh hưởng đến website của bạn.

Ngăn WordPress tạo ảnh với các kích thước khác nhau bằng plugin

Nếu bạn đang sử dụng plugin EWWW Image Optimizer để nén ảnh thì xin chúc mừng bởi vì plugin này đã được trang bị sẵn một tính năng như vậy. Nếu chưa, thì bạn có thể cài đặt và kích hoạt

Sau đó, truy cập vào Settings -> EWWW Image Optimizer -> vào tab Resize -> Disable Resizes > Tích vào các kích thước ảnh không muốn tạo trong cột Disable Creation.

Click vào nút Save Changes để hoàn tất.

Xóa các ảnh đã tạo mà không sử dụng

Các phương pháp trên chỉ giúp ngăn chặn WordPress tạo ảnh bản sao cho những hình ảnh mà bạn sẽ tải lên trong tương lai. Chúng không có tác dụng xóa bỏ những hình ảnh đã được tạo trước đó. Vì vậy, bạn sẽ cần làm thêm 1 bước nữa để xóa bỏ những ảnh đã được tạo ra mà không cần dùng đến.

Ả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í Media Cleaner.

Sau khi cài đặt và kích hoạt plugin, các bạn vào Media -> Cleaner -> Reset -> Start Scan. Sau khi scan, một danh sách các hình ảnh không được sử dụng sẽ hiện ra (nếu có) > Delete All

Các bạn có thể bật tính năng thùng rác cho Media Library bằng cách thêm dòng sau vào đầu file wp-config.php:

Chú ý: Backup database và thư mục /uploads trước khi xóa. Các file bị xóa tạm thời sẽ nằm trong thư mục /uploads/wpmc-trash. Sau khi kiểm tra, các bạn có thể xóa luôn hoặc nhấn khôi phục lại.

Xong rồi đó, bây giờ bạn vào chỗ phần ảnh đã upload xem sẽ thấy bất ngờ. “MMO nào” úp ảnh lên nếu chỉ dùng trong bài viết thì nó chỉ tầm 1 đến 2 ảnh. Còn nếu không làm như bài viết này thì trước đây bị cắt ra tới 8 hay 10 ảnh gì đó luôn.

Thật đơn giản phải không nào? Chúc các bạn thành công!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *