Bagaimana Grayscale Images di WordPress

Pernahkah Anda bertanya-tanya apakah ada cara untuk menampilkan gambar grayscale secara otomatis di WordPress saat Anda mengunggahnya? Waktu yang pasti sudah berakhir. Pada artikel ini, kami akan menunjukkan bagaimana Anda dapat menggunakan beberapa alat manipulasi gambar PHP sederhana dan fungsi WordPress untuk menampilkan gambar grayscale secara otomatis saat diunggah. Anda dapat menggunakan gambar grayscale untuk hover, slider, gallery, atau apapun yang Anda suka.

Grayscale Images di WordPress

Hal pertama yang perlu Anda lakukan adalah buka file functions.php theme Anda dan tambahkan kode berikut:

add_action ('after_setup_theme', 'themename_bw_size');
 fungsi themename_bw_size () {
 add_image_size ('themename-bw-image', 100, 100, true);
 } 

Kode di atas hanya menambahkan ukuran gambar tambahan untuk uploader. Ukuran diatur ke 100 x 100px dengan pemotongan keras. Anda dapat mengubah dimensi agar sesuai dengan kebutuhan Anda. Setelah Anda melakukannya, Anda perlu menambahkan kode berikut:

add_filter ('wp_generate_attachment_metadata', 'themename_bw_filter');
 fungsi themename_bw_filter ($ meta) {
 $ file = wp_upload_dir ();
 $ file = trailingslashit ($ file ['path']). $ meta ['ukuran'] ['themename-bw-image'] ['file'];
 daftar ($ orig_w, $ orig_h, $ orig_type) = @getimagesize ($ file);
 $ image = wp_load_image ($ file);
 imagefilter ($ image, IMG_FILTER_GRAYSCALE);
 beralih ($ orig_type) {
 kasus IMAGETYPE_GIF:
 imagegif ($ image, $ file);
 istirahat;
 kasus IMAGETYPE_PNG:
 imagepng ($ image, $ file);
 istirahat;
 kasus IMAGETYPE_JPEG:
 imagejpeg ($ image, $ file);
 istirahat;
 }
 kembali $ meta;
 } 

Kode di atas cukup banyak memberitahu pengupload untuk membuat ukuran ekstra dari gambar yang Anda upload. Pangkas ukuran yang Anda tentukan pada langkah sebelumnya. Kemudian oleskan filter gambar: Grayscale.

Jika Anda melakukan ini untuk thumbnail posting Anda, maka Anda dapat menampilkannya seperti ini dalam tema Anda:

Jika Anda ingin melakukan ini untuk lampiran tertentu, Anda dapat menggunakan fungsi wp_get_attachment_image.

Catatan: Anda harus mengubah nama mereka menjadi nama tema Anda.

Semua kredit untuk trik hebat ini ditujukan ke Otto.