对于WordPress上传图片的时候,默认是没有压缩的,我们希望给图片降低体积,可以提前压缩图片。或者我们可以在处理上传的时候自动压缩。
图片只有jpg格式适合压缩,
png不好压缩,但是可以imagewebp代替imagepng,但是ie浏览器不支持webp格式,如果用imagejpeg代替imagepng压缩的话,如果是透明的图片,那么图片会失去透明,而且会失真,所以可选择压缩,
gif也不好压缩,也没必要压缩了,如果使用imagewebp压缩gif的话,我测试发现,上传报错,于是算了,
如果非要压缩png和gif,可以使用一下php的一些拓展进行压缩,我对png和gif无需求,这里就不多说了,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
function wt_handle_upload_callback($data) { $image_quality = 60; // 压缩比例 0-100选择 $file_path = $data['file']; $image = false; switch ( $data['type'] ) { case 'image/jpeg': { $image = imagecreatefromjpeg( $file_path ); imagejpeg( $image, $file_path, $image_quality ); break; } case 'image/png': { //$image = imagecreatefrompng( $file_path ); //imagepng( $image, $file_path, $image_quality); //png不支持压缩,可以使用webp代替,但是ie浏览器不支持webp文件格式 //imagewebp( $image, $file_path, $image_quality); break; } case 'image/gif': { // Nothing to do here since imagegif doesn't have an 'image quality' option break; } } return $data; } add_filter('wp_handle_upload', 'wt_handle_upload_callback'); |
声明:本站发布的所有资源均来自于互联网,所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
如侵犯到您的权益,请及时通知我们,我们会及时处理。邮箱:505289534@qq.com
评论(0)