Kompres Gambar Otomatis Di WordPress Tanpa Plugin

Halo, disini saya akan sedikit membagikan tips cara mengkompres gambar tanpa plugin dan hanya menggunakan fungsi kompres menggunakan API wordpress. Berikut ada 3 cara yang perlu anda ketahui:

1. Jika anda hanya ingin mengkompres file JPEG saja, anda bisa memasukkan fungsi berikut:

function idt_prefix_regenerate_thumbnail_quality() {
    return 70;
}
add_filter( 'jpeg_quality', 'idt_prefix_regenerate_thumbnail_quality');

Silahkan masukkan kode tersebut di functions.php pada parent theme atau pada child theme punya sobat.

2. Jika agan ingin mengkompress semua file image JPEG atau PNG soba bisa memasukkan kode berikut:

function idt_prefix_image_quality( $quality, $image_mime_type ) {
    return 70;
}
add_filter( 'wp_editor_set_quality', 'idt_prefix_image_quality', 10, 2 );

Silahkan masukkan kode tersebut di functions.php pada parent theme atau pada child theme punya sobat.

2. Jika anda adalah pengguna photon Jetpack, berikut adalah kode untuk merubah kualitas gambar pada photon:

add_filter( 'jetpack_photon_pre_args', function( $args, $image_url, $scheme ) {
    if ( empty( $args['quality'] ) ) {
         $args['quality'] = 70;
    }
    return $args;
}, 10, 3 );

Silahkan masukkan kode tersebut di functions.php pada parent theme atau pada child theme punya sobat.

Catatan pribadi:

Quality berkisar antara 1 sampai 100, semakin kecil kualias maka gambar akan semakin kecil ukuran dan load akan lebih cepat, tetapi dengan cacatan kuatitas gambar akan semakin buruk, saya sarankan cukup kisaran 70-80 jika anda ingin mengkompres gambar.

Setelah memasukkan kode diatas, gambar lama tidak akan terkompres tetapi gambar baru yang di upload akan terkompres. Jika anda ingin gambar lama ikut terkompress, anda bisa menggenerate thumbnail anda menggunakan plugin renegerate plugin atau force regenerate plugin:

https://www.idtheme.com/docs/cara-meregenerate-thumbnail-di-theme-baru/

Semoga tutorial diatas bermanfaat.

Referensi:

  • https://developer.wordpress.org/reference/hooks/jpeg_quality/
  • https://developer.wordpress.org/reference/hooks/wp_editor_set_quality/
  • https://developer.jetpack.com/hooks/jetpack_photon_pre_args/