你有没有想过是否有一种方法来自动灰度图像在WordPress上传时? 那么这个奇怪的时间结束了。 在本文中,我们将向您展示如何使用一些简单的PHP图像处理工具和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函数。
注意:您应该将主题名称更改为主题名称。
所有这个令人敬畏的技巧的信贷去奥托。