如何在WordPress的灰度图像

你有没有想过是否有一种方法来自动灰度图像在WordPress上传时? 那么这个奇怪的时间结束了。 在本文中,我们将向您展示如何使用一些简单的PHP图像处理工具和WordPress功能来自动上传灰度图像。 你可以使用灰度图像悬停,滑块,画廊,或任何你喜欢的东西。

在WordPress的灰度图像

你需要做的第一件事是打开你的主题的functions.php文件,并添加下面的代码:

ADD_ACTION( 'after_setup_theme', 'themename_bw_size');
 函数themename_bw_size(){
 add_image_size('themename-bw-image',100,100,true);
 } 

上面的代码只是为上传者添加了一个额外的图片大小。 硬裁剪的大小设置为100 x 100像素。 您可以更改尺寸以适应您的需求。 一旦你完成了,你需要添加下面的代码:

的add_filter( 'wp_generate_attachment_metadata', 'themename_bw_filter');
 函数themename_bw_filter($ meta){
 $ file = wp_upload_dir();
 $ file = trailingslashit($ file ['path'])。$ meta ['sizes'] ['themename-bw-image'] ['file'];
 列表($ orig_w,$ orig_h,$ orig_type)= @getimagesize($ file);
 $ image = wp_load_image($ file);
 imagefilter($ image,IMG_FILTER_GRAYSCALE);
 开关($ orig_type){
 case IMAGETYPE_GIF:
 imagegif($ image,$ file);
 打破;
 案例IMAGETYPE_PNG:
 imagepng($ image,$ file);
 打破;
 case IMAGETYPE_JPEG:
 imagejpeg($ image,$ file);
 打破;
 }
 返回$ meta;
 } 

上面的代码几乎告诉上传者创建你上传的图像的额外大小。 裁剪到您在上一步指定的大小。 然后应用图像过滤器:灰度。

如果你正在为你的帖子缩略图做这个,那么你可以在你的主题中这样显示它:

如果您想为特定附件执行此操作,则可以使用wp_get_attachment_image函数。

注意:您应该将主题名称更改为主题名称。

所有这个令人敬畏的技巧的信贷去奥托。