首頁 > CMS教程 > &#&按 > 如何讓 WordPress 支援 WebP格式圖片

如何讓 WordPress 支援 WebP格式圖片

藏色散人
發布: 2020-11-05 16:16:41
轉載
3110 人瀏覽過

以下由WordPress教學欄位來介紹讓 WordPress 支援 WebP格式圖片的方法,希望對需要的朋友有幫助!

如何讓 WordPress 支援 WebP格式圖片

WordPress 預設不支援WebP格式圖片上傳,將下面程式碼加入目前主題函數範本functions.php中,即可解決上傳問題。

function webp_filter_mime_types( $array ) {
$array['webp'] = 'image/webp';
return $array;
}
add_filter( 'mime_types', 'webp_filter_mime_types', 10, 1 );
登入後複製
function webp_upload_mimes($existing_mimes) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');
登入後複製

雖然已經可以上傳WebP格式的圖片了,但在媒體清單中看不到縮圖,這是因為WordPress在用wp_generate_attachment_metadata()函數產生圖片資料時,使用了file_is_displayable_image()函數判斷文件是否為圖片,判斷WebP圖片的結果為否,因此中斷了儲存圖片資料的操作。

該函數位於:wp-admin/includes/image.php展開

解決方法是在主題的functions.php裡加入以下程式碼:

function webp_file_is_displayable_image($result, $path) {
$info = @getimagesize( $path );
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter( 'file_is_displayable_image', 'webp_file_is_displayable_image', 10, 2 );
登入後複製
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圖片,雖然目前七牛、又拍雲、阿里雲oss、騰訊雲cos等都支援WebP,不過發現蘋果設備不支援webp圖片,包括IOS版的微信,這也可能是WordPress一直不支持webp圖片的原因吧。

以上是如何讓 WordPress 支援 WebP格式圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java - wordpress 建置站 後端一定要用php 麼?
來自於 1970-01-01 08:00:00
0
0
0
基於Nginx的Wordpress安裝失敗?
來自於 1970-01-01 08:00:00
0
0
0
wordpress 移動到子目錄,nginx 如何配置
來自於 1970-01-01 08:00:00
0
0
0
wordpress怎麼在PHP工具箱安裝
來自於 1970-01-01 08:00:00
0
0
0
安裝完wordpress 後出現這個錯誤
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板