Nagtataka ka ba kung may isang paraan upang awtomatikong grayscale mga imahe sa WordPress kapag nag-upload ka ng mga ito? Well ang nagtataka oras ay tapos na. Sa artikulong ito, ipapakita namin sa iyo kung paano mo magagamit ang ilang simpleng mga tool sa pagmamanipula ng imaheng PHP at mga pag-andar ng WordPress upang awtomatikong mag-grayscale mga larawan kapag na-upload. Maaari kang gumamit ng mga grayscale na larawan para sa hover, slider, gallery, o anumang bagay na gusto mo.
Ang unang bagay na kailangan mong gawin ay buksan ang mga function.php ng iyong tema at idagdag ang sumusunod na code:
add_action ('after_setup_theme', 'themename_bw_size'); function na sila_name_bw_size () { add_image_size ('themename-bw-image', 100, 100, true); }
Ang code sa itaas ay nagdaragdag lang ng karagdagang laki ng imahe para sa uploader. Ang sukat ay naka-set sa 100 x 100px na may matitigas na pag-crop. Maaari mong baguhin ang mga sukat upang umangkop sa iyong mga pangangailangan. Sa sandaling nagawa mo na, kailangan mong idagdag ang sumusunod na code:
add_filter ('wp_generate_attachment_metadata', 'themename_bw_filter'); gumana sa kanilaename_bw_filter ($ meta) { $ file = wp_upload_dir (); $ file = trailingslashit ($ file ['path']). $ meta ['sizes'] ['themename-bw-image'] ['file']; listahan ($ orig_w, $ orig_h, $ orig_type) = @getimagesize ($ file); $ image = wp_load_image ($ file); imagefilter ($ imahe, IMG_FILTER_GRAYSCALE); lumipat ($ orig_type) { kaso IMAGETYPE_GIF: imagegif ($ imahe, $ file); pahinga; kaso IMAGETYPE_PNG: imagepng ($ imahe, $ file); pahinga; kaso IMAGETYPE_JPEG: imagejpeg ($ imahe, $ file); pahinga; } ibalik ang $ meta; }
Ang code sa itaas ay medyo nagsasabi sa uploader upang lumikha ng dagdag na laki ng imaheng iyong na-upload. I-crop ito sa laki na iyong tinukoy sa nakaraang hakbang. Pagkatapos ay ilapat ang filter ng imahe: Grayscale.
Kung ginagawa mo ito para sa iyong mga thumbnail na post, maaari mo itong ipakita tulad nito sa iyong tema:
Kung gusto mong gawin ito para sa isang tukoy na attachment, maaari mong gamitin ang wp_get_attachment_image function.
Tandaan: Dapat mong baguhin ang mga pangalan ng pangalan sa iyong tema.
Ang lahat ng mga kredito para sa kahanga-hangang bilis ng kamay na ito ay papunta kay Otto.