我已使用以下代码更新了wordpress,以允许上传webp,

function webp_upload_mimes( $existing_mimes ) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter( 'mime_types', 'webp_upload_mimes' );

效果很好,但是webp图像未在媒体选择器中显示预览,如图所示

php - WordPress的WebP图像预览-LMLPHP

无论如何,我是否可以强制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/

10-13 02:56