WordPress

Ngăn WordPress tạo ảnh tự động cực đơn giản

Tại sao cần ngăn WordPress tạo ảnh ?

Do cơ chế WordPress mặc định luôn tự động cắt ảnh dưới nhiều kích thước như: 128×128, 364×364… nếu không tối ưu thì dữ hoặc full inode rất bị nhanh đầy.

Đây cũng chính là nhược điểm khi khách hàng sử dụng mã nguồn là WordPress.

Khắc phục: Thêm các đoạn code sau đây vào function.php của theme.

Thêm đoạn code trong function của Theme

function remove_default_image_sizes( $sizes) {
    unset( $sizes['large']);
    unset( $sizes['thumbnail']);
    unset( $sizes['medium']);
    unset( $sizes['medium_large']);
    unset( $sizes['1536x1536']);
    unset( $sizes['2048x2048']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes');

Tuy nhiên, nếu khách hàng muốn kích cỡ cố định hoặc muốn custom ảnh.

Ví dụ, muốn thay đổi thuộc tính medium_large, sửa là tên và đoạn (0, 800).

Trong đó, 0 là auto full ảnh là chiều rộng của ảnh, 800 là 800px – chiều dọc của ảnh.

add_filter('intermediate_image_sizes', function ($sizes) {
return array_diff($sizes, ['medium_large']); // Medium Large (768 x 0)
});
add_image_size( 'medium_large', 0, 800 );
//
add_action('init', 'remove_extra_image_sizes');
function remove_extra_image_sizes()
{
$sizes = array();
foreach (get_intermediate_image_sizes() as $size) {
if (!in_array($size, $sizes)) {
remove_image_size($size);
}
}
}
function remove_default_image_sizes( $sizes) {
    unset( $sizes['large']);
    unset( $sizes['thumbnail']);
    unset( $sizes['medium']);
    unset( $sizes['medium_large']);
    unset( $sizes['1536x1536']);
    unset( $sizes['2048x2048']);
    return $sizes;
}
add_filter('intermediate_image_sizes_advanced', 'remove_default_image_sizes');

Kết quả:

Cuối cùng, quý khách có thể kiểm tra lại:

Bài viết liên quan

Back to top button