自2025年浏览器全面普及WEBP/AVIF图像格式支持以来,这类高压缩率的新型图片已成为网站提速的利器。凭借其显著优化的文件体积优势,采用这两种格式的站点能有效缩短加载时长,提升用户体验。
当前Typecho 1.2.0正式版尚未原生兼容WEBP/AVIF格式上传功能。本文提供零插件解决方案,通过调整三个核心文件的配置参数,即可突破格式限制实现无缝上传。
接下来我们需要修改Typecho的三个文件里面的代码来达到让typecho支持WEBP/AVIF两种格式。
1、编辑 var/Widget/Themes/Rows.php
将
return preg_match("/screenshot\.(jpg|png|gif|bmp|jpeg)$/i", $path);
变更为
return preg_match("/screenshot\.(jpg|png|gif|bmp|jpeg|webp|avif)$/i", $path);
2、编辑 var/Widget/Base/Contents.php
将
$value['attachment']->isImage = in_array($content['type'], ['jpg', 'jpeg', 'gif', 'png', 'tiff', 'bmp']);
变更为
$value['attachment']->isImage = in_array($content['type'], ['jpg', 'jpeg', 'gif', 'png', 'tiff', 'bmp', 'webp', 'avif']);
3、编辑 var/Typecho/Common.php
在
'jpg' => 'image/jpeg',
后面添加
'webp' => 'image/webp',
'avif' => 'image/avif',
4、在后台 - 基本设置 - 其他格式里填入 webp,avif
就可以正常上传图片了。
注意事项:
如果是虚拟机还需要在主机管理里面添加MIME类型设置,格式如下:
类型扩展:扩展名.webp MIME类型image
下面顺带分享一个,typecho上传图片自动转为webp的插件:
下载地址:
官方地址:
🔒 此处内容需要 登录 才能查看。
安装方法
1、在 Typecho 的插件目录 /usr/plugins 下新建一个名为 AutoWebP 的文件夹;
2、然后下载仓库中的 Plugin.php 文件并添加进 AutoWebP 文件夹中;
3、在 AutoWebP 文件夹中创建一个名为 font 的文件夹,然后往文件夹内放入 SourceHanSansSC-Regular.otf(如果要使用水印功能的话),即可。
4、然后进入后台插件管理里面启用插件即可。
评论 (0)