我已使用以下代码更新了wordpress,以允许上传webp,
function webp_upload_mimes( $existing_mimes ) {
$existing_mimes['webp'] = 'image/webp';
return $existing_mimes;
}
add_filter( 'mime_types', 'webp_upload_mimes' );
效果很好,但是webp图像未在媒体选择器中显示预览,如图所示
无论如何,我是否可以强制Wordpress渲染Webp预览?到我的网站完成时,它可能会包含数百个webp图像,而在选择时看不到它们可能会非常痛苦!
最佳答案
我找到了一种在媒体管理器上显示缩略图的解决方案。您必须将以下代码添加到 Activity 主题的functions.php
中:
//enable upload for webp image files.
function webp_upload_mimes($existing_mimes) {
$existing_mimes['webp'] = 'image/webp';
return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');
//enable preview / thumbnail for webp image files.
function webp_is_displayable($result, $path) {
if ($result === false) {
$displayable_image_types = array( IMAGETYPE_WEBP );
$info = @getimagesize( $path );
if (empty($info)) {
$result = false;
} elseif (!in_array($info[2], $displayable_image_types)) {
$result = false;
} else {
$result = true;
}
}
return $result;
}
add_filter('file_is_displayable_image', 'webp_is_displayable', 10, 2);
webp_is_displayable
函数正在使用 file_is_displayable_image
钩子(Hook),并检查$path
上的文件是否为webp
图像文件。要检查webp
图像文件,该函数使用常量 IMAGETYPE_WEBP
。关于php - WordPress的WebP图像预览,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54442929/