You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Timber插件的|towebp滤镜在picture标签中失效求助

解决Timber中|towebp滤镜在picture标签内失效的问题

排查与修复步骤

  • 修正滤镜名称拼写:你代码里写的是|webp,但Timber官方提供的WebP转换滤镜是|towebp,拼写错误会导致滤镜不生效,生成无效路径进而让图片加载失败。先把滤镜修正为正确写法:
    <source srcset="{{Image(options.image).src|towebp}}" type="image/webp">
    
  • 验证图片对象有效性:确认options.image是合法的WordPress附件ID或图片对象,而非空值或无效路径。可以先单独输出{{Image(options.image).src}},检查原始图片路径是否能正常访问,再叠加滤镜测试。
  • 检查服务器WebP支持:Timber的towebp滤镜依赖服务器环境支持WebP编码(比如安装了GD/Imagick扩展并启用WebP功能)。如果服务器不支持,滤镜不会生成WebP图片,只会返回错误或原始路径。可以查看页面源码,确认srcset里的路径是否指向真实存在的WebP文件。
  • 使用更规范的Image对象方法:Timber的Image对象提供to('webp')方法替代滤镜,兼容性更好,试试这种写法:
    <source srcset="{{Image(options.image).to('webp').src}}" type="image/webp">
    
  • 排除浏览器兼容性问题:现代浏览器都支持WebP,若测试环境是旧版浏览器,会自动 fallback 到jpeg图,不会导致图片完全不显示,这个可能性较低,但可作为最后排查项。

修正后的完整代码示例

<picture class="picture">
   <source srcset="{{Image(options.image).to('webp').src}}" type="image/webp">
   <source srcset="{{site.theme.link}}/static/images/6.jpeg" type="image/jpeg">
   <img src="{{site.theme.link}}/static/images/6.jpeg" alt="Alt text for the image">
</picture>

内容的提问来源于stack exchange,提问作者Sonia Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 20:02:07