最后更新时间为 2022年2月19日
WordPress用阿里云OSS插件(aliyun-oss-support)之后,可以将附件存储到OSS上面,如果需要将文章中的图片处理为webp格式呢?这样的好处就是根本不需要做图片压缩了。
可以用OSS图片处理来实现,在主题functions.php
文件中或者使用Code Snippets插件添加自定义代码:
/**
* 利用阿里云OSS将WordPress文章中的图片自动转为webp.
*/
function webp_converse($matches) {
$len_4 = substr($matches[2],(strlen($matches[2])-4));
$len_5 = substr($matches[2],(strlen($matches[2])-5));
if( $len_4 ===".jpg" || $len_4 ===".png" || $len_5 ===".jpeg" ){
return $matches[1] . $matches['2'] . '?x-oss-process=image/auto-orient,1/quality,q_98/format,webp';
} else {
return $matches[1] . $matches['2'];
}
}
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');
}