如果您曾经尝试在 WordPress 中为徽标或网站图标上传 SVG(可缩放矢量图形)文件,您可能会惊讶地发现它不起作用。没有核心支持,因此用户依赖诸如 SVG Support(900K+ 安装)或 Safe SVG(600k+ 安装)之类的插件将 SVG 文件上传到媒体库并像使用任何其他图像文件一样使用它们。
SVG 文件的主要优点是它们可以缩放到任何尺寸而不会损失质量。它们也很紧凑且对 SEO 友好,因为它们存储在 XML 文本文件中,可以被抓取和索引。
九年来,WordPress 贡献者一直在讨论添加 SVG 支持。它被各种概念证明和没有明确的前进道路谈论到死,票最终成为人们定期停下来并评论它是“WordPress还不支持这一点的该死的悲剧”的地方。
尽管该格式在 Web 上几乎得到普遍支持,但存在与脚本化 SVG 相关的安全问题,其中文件可能包含恶意脚本。如果没有 SVG sanitizer 库,用户将自行承担上传 SVG 文件的风险。
在最近的性能团队会议上,贡献者提出了开发一个新的 SVG 上传模块的想法。他们的首要目标是允许用户在没有脚本的情况下上传 SVG 文件,并在媒体库中提供 SVG 预览。
尽管超过一百万的 WordPress 用户已经安装了一个插件来将 SVG 上传添加到他们的网站,但这些插件都不是功能插件。这就是性能团队选择在性能实验室插件中创建一个模块的原因。它允许团队在为 WordPress 核心提议之前更好地测试该功能。
查看插件中的当前实现,团队发现其中许多提供的功能超出了本模块的范围。目前最流行的插件都使用 SVG Sanitizer 库,Drupal 模块和 TYPO3 CMS 的集成也是如此。
性能团队贡献者已将 WordPress 6.2 确定为提出核心模块的现实目标。任何想要贡献的人都可以在 GitHub 上加入他们的努力。