今天发现自己服务器上的wordpress版本太久了,心血来潮更新了下,还好没出现太大问题,在维护厘米屋网站时候发现webp图片格式在后台媒体库里无法正常显示,于是就想办法捣鼓了下。
之前我在我众多wordpress主题里已做好了支持webp图片格式,是在主题包的functions.php里增加了一段代码:
//添加可以上传
function _add_webp( $array ) {
$array['webp'] = 'image/webp';
return $array;
}
add_filter('mime_types','_add_webp',10,1);
//添加媒体识别
function _add_image_webp($result, $path) {
$info = @getimagesize($path);
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter('file_is_displayable_image','_add_image_webp',10,2);
但发现在wordpress媒体库里无法预览那些图片,于是我搜索了下问题。这需要通过修改wordpress-》wp-includes-》functions.php文件来实现(注意,不是主题下的那个文件):
搜索 'image/jpeg' => 'jpg', 在下一行加入:'image/webp' => 'webp',
搜索 'jpg|jpeg|jpe' => 'image/jpeg', 在下一行加入:'webp' => 'image/webp',
还有一处我有点吃不准就没修改,不过修了这两处就已经可以实现需求了。