Ngăn WordPress tự động cắt ảnh thành nhiều kích thước

Để hoàn tất việc đăng bài trên wordpress, chúng ta không thể bỏ qua công đoạn tải ảnh lên website. Nhưng ít ai biết rằng, khi bạn up một bức ảnh với kích thước bất kỳ thì wordpress chắc chắn sẽ tự động cắt ảnh thành nhiều ảnh con có kích thước khác nhau. Khi số lượng ảnh tải lên càng nhiều thì các bản sao của các bức ảnh cũng ngày càng nhiều thêm, điều này khiến dung lượng website đối diện với vấn đề đầy bộ nhớ.

Vậy tại sao wordpress lại tự động cắt ảnh thành nhiều kích thước như vậy? Làm sao ngăn wordpress tự động cắt ảnh? Hãy theo dõi bài viết sau đây của Enweb để tìm hiểu câu trả lời ngay nhé!

Tại sao WordPress lại tự tạo nhiều hình ảnh cắt khác nhau?

Trước khi tìm hiểu cách thức ngăn wordpress tự động cắt ảnh thành nhiều kích thước thì chúng ta cần tìm hiểu nguyên do vì đâu wordpress lại tự tạo nhiều size hình ảnh khác nhau như vậy. Khi đã làm một hành động được cài đặt sẵn trên máy tính thì chắc chắn người phát triển wordpress phải có ý đồ riêng của họ.

Vậy đầu tiên chúng ta tìm hiểu xem một hình ảnh được tải lên website sẽ được ra thêm bao nhiêu kích thước. Bạn đăng tải một hình ảnh lên phần Media trong trang quản trị. Tiếp theo truy cập vào hosting, bạn có thể sử dụng FTP Client hoặc truy cập vào File Manage của cPanel để kiểm tra xem có bao nhiêu phiên bản được tạo thành.

Sau đó bạn vào thư mục /wp-content/uploads/, thư mục này chứa tất cả hình ảnh bạn đã upload và những phiên bản được tạo thêm do wordpress tự động cắt ảnh.

Bạn có thể dễ dàng nhận thấy ngoài bức ảnh gốc ra, wordpress sẽ tạo ảnh tự động với 6 kích thước mặc định bao gồm thumbnail (150×150), medium (300×300),large (1024×1024), medium large (768x chiều cao không giới hạn), 1536×1536 (Medium Large x 2) và 2048×2048 (Large x 2). Ngoài ra, tùy theo theme mà wordpress phát sinh ảnh có các kích thước khác nhau để phù hợp với giao diện hiển thị.

Xem ngay: Hướng dẫn backup website WordPress thủ công trong cPanel mới nhất

ngan wordpress tu dong cat anh
Tại sao WordPress lại tự tạo nhiều hình ảnh cắt khác nhau?

Chẳng hạn bạn tải một bức ảnh có kích thước 1024×1000 mà bài viết cần thumbnail để hiển thị thì chắc chắn wordpress sẽ tự động cắt ảnh thành ảnh con có kích thước 350×250. Kích thước này hiển thị trên trang chủ vừa đủ, phù hợp nhất khi đảm bảo không quá nhỏ gây mờ mà cũng không quá lớn khiến dung lượng tốn thêm diện tích lưu trữ không cần thiết.

Như vậy có thể kết luận rằng wordpress tự động cắt ảnh nhằm mục đích tạo ra nhiều bức ảnh hiển thị phù hợp với các theme hoặc các kích thước giao diện màn hình khác nhau. Đồng thời làm giảm dung lượng lưu trữ, bức ảnh nhẹ đi cũng khiến trang web tải nhanh hơn.

Tại sao cần ngăn WordPress tự động cắt ảnh thành nhiều kích thước?

Hầu hết ai cũng muốn ngăn wordpress tự động cắt ảnh thành nhiều bản sao có kích thước khác nhau. Khi nhân bản ở số lượng nhỏ thì điều này có lẽ không phải là vấn đề lớn như khi bạn viết bài và upload ảnh trong thời gian dài sẽ tích tiểu thành đại, số lượng ảnh lên đến hàng ngàn. Lúc này bạn phải quan ngại bởi hành động mặc định này của wordpress sẽ ảnh hưởng không nhỏ đến website của bạn.

Nếu bạn không ngăn wordpress tự động cắt ảnh, website của bạn sẽ tiêu tốn rất nhiều dung lượng hosting/vps để lưu trữ những hình ảnh không cần thiết. Điều này còn gây khó khăn để sao lưu dữ liệu, giảm tốc độ tải trang web. Do đó bạn cần xác định những kích thước ảnh không dùng đến rồi thực hiện các cách ngăn chặn wordpress tạo ảnh tự động thành nhiều kích thước.

Lưu ý cần giữ lại những kích thước chúng ta vẫn dùng và cần thiết cho website, đặc biệt luôn nhớ backup trước khi thực hiện nhé.

Tiếp theo chúng ta cùng nhau tìm hiểu các phương pháp khắc phục tình trạng này, bạn có thể tham khảo đọc qua trước nhé:

  • Ngăn wordpress tự động cắt ảnh bằng thiết lập cài đặt media
  • Chỉnh sửa đoạn code tự động cắt ảnh trong theme
  • Dùng plugin để ngăn wordpress phát sinh ảnh
  • Dùng plugin để xóa hình ảnh đã cắt mà không dùng

Ngoài ra bạn nên sử dụng cache cho website, luôn nén ảnh trước khi tải lên để giảm dung lượng và áp dụng tính năng lazy load giúp hỗ trợ wordpress lựa chọn ảnh phù hợp, tối ưu hóa không gian hosting bạn nhé.

Xem ngay: DMCA là gì? Giải đáp 10 thắc mắc liên quan đến DMCA

ngan wordpress tu dong cat anh
Ngăn wordpress tự động cắt ảnh để tối ưu dung lượng hosting

Cách ngăn WordPress tự động cắt ảnh thành nhiều kích thước khác nhau

1. Ngăn wordpress tự động cắt ảnh bằng thiết lập cài đặt media

Cách ngăn wordpress tự động cắt ảnh này rất đơn giản, nếu bạn không muốn sử dụng 6 kích thước wordpress mặc định tự động tạo như Enweb đã kể ở trên thì bạn chỉ cần vào phần Bảng tin > Cài đặt > Thư viện. Sau đó thiết lập giá trị của các thông số bên dưới trở về 0 rồi bấm chọn Lưu thay đổi (Save Changes) là được.

ngan wordpress tu dong cat anh
Ngăn wordpress tự động cắt ảnh bằng thiết lập cài đặt media settings

2. Thiết lập giao diện trong file functions.php

Giao diện trong wordpress cũng là nguyên nhân website tạo thêm nhiều hình ảnh có kích thước khác nhau bởi để bài viết hiển thị thêm bắt mắt, chúng cần hình ảnh nổi bật hoặc hình thumbnail nên tự động cắt ảnh thành nhiều phiên bản khác nhau. Do đó để ngăn wordpress tự động cắt ảnh trong tình huống này, bạn cần xóa đoạn mã code trong file functions.php của giao diện.

Bạn truy cập vào hosting bằng cách sử dụng FTP Client rồi vào thư mục /wp-content/themes/giao-diện-đang-sử-dụng/functions.php. Tiếp theo bạn tìm hàm add_image_size theo như ví dụ sau đây:

add_image_size( ‘thumb-standard’, 350, 350, true );

Hoặc hàm tạo hình thu nhỏ thumbnail cho bài viết set_post_thumbnail_size có đoạn mã code như bên dưới:

set_post_thumbnail_size( 150, 150 );

Nếu theme giao diện không nằm trong file functions.php thì bạn có thể dùng tính năng Find in Folder của Sublime Text để tìm đoạn code cắt ảnh trong file thư mục chứa theme giao diện đang sử dụng là thấy.

Cần lưu ý cách ngăn chặn này sẽ vô hiệu hóa các chức năng tạo thư viện và hình thu nhỏ của bài viết. Do đó bạn cần cân nhắc và đảm bảo có kinh nghiệm xử lý code khi lựa chọn phương pháp này.

Xem ngay: Công ty thiết kế website uy tín tại Đà Nẵng

ngan wordpress tu dong cat anh
Những kích thước bạn không dùng thì có thể xóa đi, còn những kích thước cần thiets như featured image thì bạn nên giữ lại như hình minh họa

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

Ngoài việc bạn ngăn wordpress tự động cắt ảnh bằng cách thiết lập cài đặt media như Enweb đã trình bày ở trên, bạn còn có thể điều khiển wordpress không tạo ảnh có nhiều size khác nhau bằng cài đặt plugin.

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

Các bạn có thể tham khảo plugin EWWW Image Optimizer. Sau khi cài đặt và kích hoạt, bạn truy cập vào phần Settings > EWWW Image Optimizer > đi đến tab Resize > đến phần Disable Resizes > Tick vào những tùy chỉnh kích thước ảnh mà bạn không muốn tạo trong cột Disable Creation. Sau đó nhấn nút Save Changes để lưu lại là được.

ngan wordpress tu dong cat anh
Tick vào những tùy chỉnh kích thước ảnh mà bạn không muốn tạo trong cột Disable Creation.

4. Xóa bớt những ảnh đã cắt mà không dùng

Một cách khác để ngăn wordpress tự động cắt ảnh đó là cài plugin để xóa những hình ảnh đã cắt mà không dùng. Ở đây Enweb sẽ giới thiệu cho bạn 2 plugin giúp giải quyết vấn đề này. Lưu ý các bạn luôn phải sao lưu backup website lại để đề phòng bất trắc cho web của bạn nhé.

Cách 1: Bạn cài đặt plugin Optimize Images Resizing, sau đó kích hoạt plugin. Tiếp theo bạn vào mục Tools, chọn plugin xóa ảnh Optimize Images Resizing rồi tick vào dòng chữ Keep a record of removed image sizes… và bấm Start new cleanup để bắt đầu thực hiện.

ngan wordpress tu dong cat anh
Cài đặt plugin Optimize Images Resizing

Cách 2: Bạn cài đặt plugin Media Cleanser để ngăn wordpress tự động cắt ảnh rồi kích hoạt plugin để sử dụng. Sau đó bạn vào Media > Cleanser > Reset > Start Scan. Plugin sẽ scan những ảnh đã tạo trước đó nhưng không được sử dụng rồi hiển thị lên màn hình. Bạn chỉ cần bấm Delete All để xóa bớt đi những hình ảnh không dùng gây tốn nhiều dung lượng lưu trữ trên website.

ngan wordpress tu dong cat anh
Cài đặt plugin Media Cleanser

Ngoài ra, bạn có thể bật tính năng thùng rác cho Media Library để dọn dẹp và ngăn wordpress tự động cắt ảnh thành nhiều phiên bản mà lại không dùng. Bạn thêm dòng code dưới đây vào đầu file wp-config.php để thực hiện nhé:

define( ‘MEDIA_TRASH’, true );

Lưu ý những file bị xóa tạm thời sẽ nằm trong thư mục /uploads/wpmc-trash, nếu bạn muốn xóa triệt để có thể vào đây để xóa file ảnh hoặc khôi phục lại nếu muốn.

Xem ngay: Hướng dẫn đăng ký SMTP Gmail cho website wordpress mới nhất

ngan wordpress tu dong cat anh
Cài đặt plugin Media Cleanser ngăn wordpress tự động cắt ảnh

5. Ngăn wordpress tự động cắt ảnh bằng code php trên theme

Cách tiếp theo để ngăn wordpress tự động cắt ảnh mà Enweb muốn chia sẻ đến mọi người đó là sử dụng code php để loại bỏ kích thước ảnh mặc định trên theme. Để thực hiện, bạn cài đặt plugin AJAX Thumbnail Rebuild rồi kích hoạt để sử dụng. Sau đó bạn vào mục Tools > Rebuild Thumbnails để theo dõi và kiểm tra tất cả kích thước ảnh được tạo ra trên wordpress.

ngan wordpress tu dong cat anh
Ngăn wordpress tự động cắt ảnh bằng code php trên theme

Tiếp theo bạn chèn đoạn mã code bên dưới vào cuối file functions.php của theme hoặc child theme để ngăn wordpress tự động cắt ảnh thành nhiều kích thước không cần thiết. Để truy cập vào file functions.php, bạn mở wordpress với tư cách quản trị viên rồi tìm đến mục Giao diện > Sửa giao diện.

Hoặc bạn có thể truy cập vào hosting, vào cPanel > File Manager > Tìm thư mục wp-content > themes > tên theme bạn đang sử dụng > functions.php.

Bạn nên thực hiện thao tác này trên child theme để khi cập nhật theme chính thức sẽ không phải làm lại.

//* Remove WordPress, plugin’s create default image sizes
function remove_default_image_sizes( $sizes) {
unset( $sizes[‘large’]);
unset( $sizes[‘thumbnail’]);
unset( $sizes[‘medium’]);
unset( $sizes[‘medium_large’]);

return $sizes;
}
add_filter(‘intermediate_image_sizes_advanced’, ‘remove_default_image_sizes’);

Như vậy, theo như câu lệnh code phía trên, sau này khi upload tất cả hình ảnh có kích thước bao gồm large, thumbnail, medium, medium large đều chặn tự động không cắt ảnh.

Ngoài ra, nếu bạn muốn ngăn wordpress tự động cắt ảnh thành kích thước cụ thể nào thì bạn chỉ cần chèn thêm một dòng code unset(“tên size ảnh”) vào là xong. Cứ có bao nhiêu kích thước bạn muốn wordpress không tự động cắt ảnh thì có bấy nhiêu dòng code unset bên dưới.

Chẳng hạn, nếu Enweb muốn wordpress không tự động tạo hình ảnh có kích thước 150×150, tên kích thước của nó tương tự sẽ là jnews-150×150, sau khi chèn dòng code này vào, đoạn mã code của chúng ta sẽ có hiển thị như sau:

//* Remove WordPress, plugin’s create default image sizes
function remove_default_image_sizes( $sizes) {
unset( $sizes[‘large’]);
unset( $sizes[‘thumbnail’]);
unset( $sizes[‘medium’]);
unset( $sizes[‘medium_large’]);
unset( $sizes[‘jnews-75×75’]);
return $sizes;
}
add_filter(‘intermediate_image_sizes_advanced’, ‘remove_default_image_sizes’);

Cuối cùng bạn nhấn Save để lưu lại. Quay trở lại phần Tools > Rebuild Thumbnails để kiểm tra xem kích thước bạn muốn xóa vẫn còn sót lại không nhé. Chú ý nên kiểm tra những kích thước chắc chắn không ảnh hưởng đến website và chọn lọc giữ lại những kích thước cần thiết cho wordpress bạn nhé.

Lời kết

Vậy là chúng ta vừa cùng nhau tìm hiểu thêm kiến thức về cách thức ngăn wordpress tự động cắt ảnh thành nhiều kích thước khác nhau mà chúng ta lại không hề dùng đến. Hy vọng bài viết đã giúp bạn giải quyết vấn đề đầy dung lượng hosting do chức năng tự động cắt ảnh của wordpress. Chúc các bạn thực hiện thành công!

Hãy theo dõi chúng tôi để cập nhật thêm nhiều bài viết thú vị khác nhé. Hẹn gặp lại các bạn.

Bài viết liên quan