在Plesk黑曜石v18和Linux 7.9上运行WordPress 6.1.1和PHP 7.0.33当我尝试通过WP的媒体库上传webp图像时,我收到以下警告:
我去检查WP的网站健康〉媒体处理,看到webp不支持.有人能解决这个问题吗?
i7uq4tfw1#
Wordpress从5.8版本开始增加了对WebP的支持,因此您的新版本6.1.1也支持WebP。警告屏幕截图显示您的imagick库不支持所支持格式列表中的WebP格式。您可以尝试更新PHP版本或要求您的主机提供商确保在Imagick模块中启用libwebp for Webp支持。或如果您有SSH访问权限,您可以参考此answer了解如何自行安装/配置它。
5.8
6.1.1
Imagick
libwebp
x6492ojm2#
从wordpress 5.8版开始,默认支持webp.无论如何,将下面的代码片段添加到当前主题的functions.php文件中。
functions.php
function add_custom_upload_mimes( $mimes_types ) { $mimes_types['webp'] = 'image/webp'; // webp files return $mimes_types; } add_filter( 'upload_mimes', 'add_custom_upload_mimes' ); function add_allow_upload_extension_exception( $types, $file, $filename, $mimes ) { // Do basic extension validation and MIME mapping $wp_filetype = wp_check_filetype( $filename, $mimes ); $ext = $wp_filetype['ext']; $type = $wp_filetype['type']; if( in_array( $ext, array( 'webp' ) ) ) { // if follows webp files have $types['ext'] = $ext; $types['type'] = $type; } return $types; } add_filter( 'wp_check_filetype_and_ext', 'add_allow_upload_extension_exception', 99, 4 ); function displayable_image_webp( $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', 'displayable_image_webp', 10, 2 );
2条答案
按热度按时间i7uq4tfw1#
Wordpress从
5.8
版本开始增加了对WebP的支持,因此您的新版本6.1.1
也支持WebP。警告屏幕截图显示您的imagick库不支持所支持格式列表中的WebP格式。您可以尝试更新PHP版本或要求您的主机提供商确保在
Imagick
模块中启用libwebp
for Webp支持。或
如果您有SSH访问权限,您可以参考此answer了解如何自行安装/配置它。
x6492ojm2#
从wordpress 5.8版开始,默认支持webp.无论如何,将下面的代码片段添加到当前主题的
functions.php
文件中。