WordPress用阿里云OSS插件(aliyun-oss-support)之后,可以将附件存储到OSS上面,如果需要将文章中的图片处理为webp格式呢?这样的好处就是根本不需要做图片压缩了。
可以用OSS图片处理来实现,在主题functions.php
文件中或者使用Code Snippets插件添加自定义代码:
/** * 利用阿里云OSS将WordPress文章中的图片自动转为webp. * * @link https://wpmore.cn/aliyun-oss-wordpress-the_content-img-webp.html */ function webp_converse($matches) { $len = substr($matches[2],(strlen($matches[2])-4)); if( $len != 'webp' || $len != '.gif'){ return $matches[1] . $matches['2'] . '?x-oss-process=image/auto-orient,1/quality,q_98/format,webp'; } } function webp_converse_img($content){ global $post; $content = preg_replace_callback("/(<img[^>]*src *= *[\"']?)([^\"']*)/i", 'webp_converse' , $content); return $content; } function is_support_webp(){ return strstr($_SERVER['HTTP_ACCEPT'],'image/webp'); } if ( is_support_webp() ){ add_filter('the_content','webp_converse_img'); }