使WordPress支持WebP格式的圖片上傳、顯示略縮圖
前言
WordPress本身(此時的版本為5.0.3)並不支持WebP圖片的上傳和在媒體庫中生成略縮圖。所以為了方便使用WordPress,文章將會介紹如何通過修改functions.php文件使之支持WebP格式的圖片的上傳與顯示其略縮圖
WebP 介紹
WebP是一種由Google於2010年提出的圖片壓縮格式。
WebP為網絡圖片提供了無損和有損壓縮能力,同時在有損條件下支持透明通道。據官方實驗顯示:無損WebP相比PNG減少26%大小;有損WebP在相同的SSIM(Structural Similarity Index,結構相似性)下相比JPEG減少25%~34%的大小;有損WebP也支持透明通道,大小通常約為對應PNG的1/3。
步驟
1.打開當前主題目錄下的functions.php文件,在尾部添加如下字段
- function bzg_filter_mime_types ( $array ) {
- $array [ ‘webp’ ] = ‘image/webp’ ;
- return $array;
- }
- add_filter ( ‘mime_types’ , ‘bzg_filter_mime_types’ , 10 , 1 ) ;
此時已經實現WebP圖片的上傳
2.繼續添加如下字段
- function bzg_file_is_displayable_image ( $result, $path ) {
- $info = @ getimagesize ( $path ) ;
- if ( $info [ ‘mime’ ] == ‘image/webp’ ) {
- $result = true;
- }
- return $result;
- }
- add_filter ( ‘file_is_displayable_image’ , ‘bzg_file_is_displayable_image’ , 10 , 2 ) ;
現在實現了媒體庫中的略縮圖顯示
3.保存functions.php文件並上傳覆蓋原目錄中的文件,也可以自行保存之前的文件