這篇文章給大家分享的是有關 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格式圖片的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。