专注云服务商活动
网站运营运维笔记

手动设置WordPress上传图片的时候自动压缩比例

对于WordPress上传图片的时候,默认是没有压缩的,我们希望给图片降低体积,可以提前压缩图片。或者我们可以在处理上传的时候自动压缩。

在主题functions.php函数文件里添加即可

图片只有jpg格式适合压缩,

png不好压缩,但是可以imagewebp代替imagepng,但是ie浏览器不支持webp格式,如果用imagejpeg代替imagepng压缩的话,如果是透明的图片,那么图片会失去透明,而且会失真,所以可选择压缩,

gif也不好压缩,也没必要压缩了,如果使用imagewebp压缩gif的话,我测试发现,上传报错,于是算了,

如果非要压缩png和gif,可以使用一下php的一些拓展进行压缩,我对png和gif无需求,这里就不多说了,

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');

 

投上你的一票
域名主机商优惠信息推送QQ群: 627775477 获取商家优惠推送,禁言。
赞(0)
未经允许不得转载:老左笔记 » 手动设置WordPress上传图片的时候自动压缩比例