在对 WordPress 5.9 进行了一次看似成功的测试之后, 提议的网络字体 API 被搁置。 该功能将标准化主题和插件开发人员加载字体的方式,并为未来面向用户的功能奠定基础。
乔诺·奥尔德森 开了票 对于 2019 年 2 月的功能。最近几个月,该提案加快了速度。 这 拉取请求 有超过 200 条票内消息、93 次提交以及来自两个核心提交者的代码批准。 API 似乎准备好了。 然而,它在过去几天陷入停滞。
Andrew Ozz,主要的 WordPress 开发人员,本质上 停止了新 API 的可能性 登陆5.9。 他表示,他认为该提案还没有为 WordPress 做好准备。
“纯粹作为代码,它看起来不错,”他在票中写道。 “它确实有据可查(感谢 [Tonya Mark]!)。 但是,我仍然看不出这将如何在短期和长期内使 WordPress 变得更好。 我们在聊天 [Andrei Draganescu] 他建议理想情况下这应该是一个功能插件,我同意。 然后就有可能在生产中真正测试它,验证(或拒绝)在创建它时所做的假设,并使其成为 WordPress 真正有价值的补充。 不幸的是,现在对 5.9 来说已经太晚了。”
测试 API 的功能插件的问题之一是它们并不经常被采用,正如其他人在工单中指出的那样。 在大多数情况下,开发人员不会在生产中依赖它们。 而且,一般的最终用户不会安装特定于开发人员的东西。
“建议将此作为功能插件来完成是一种将某事推迟几年的优雅方式,” 阿里·斯塔索普洛斯说,API 背后的开发人员之一。 然而,他指出 REST API 是一个例外,它表现得足够好,可以移植到 WordPress 中。
WordPress 的核心提案可能是 推入古腾堡插件 以便进一步探索。 这将是作为单独的功能插件启动和进入 WordPress 5.9 之间的一种折衷。
Web 字体 API 与块系统没有直接关系。 传统和块主题以及插件都可以在今天使用该功能。 但是,一些 Gutenberg 提议依赖于 API 的存在,例如允许主题作者通过他们的 theme.json 文件定义 Web 字体。
Ozz 列出了围绕该提案的几个问题,几个开发人员对每个问题进行了回复。 然而,他的主要论点取决于为什么 API 中的所有内容都是必要的实用性,并指出先前的答复是“原则上”的,似乎是基于假设的。
在最基本的层面上,网络字体 API 将允许开发人员注册和加载本地托管的字体或来自 Google 字体的字体。 开发人员还可以在两个默认值之外添加自定义提供程序。 提议的 API 的第一次迭代更多地是为在未来的 WordPress 版本中建立基础。
该功能的吸引力不仅仅是加载字体。 从技术上讲,如果主题作者愿意,他们可以用一行代码来完成。 如果他们想遵循当前的核心 WordPress 标准,至少在前端,需要四行代码。
Stathopoulos 列出了一系列改进,例如 API 将为 WordPress 及其扩展带来的改进。
- 主题可以通过他们的 theme.json 文件定义字体。
- 编辑器中字体系列选择器中的字体预览。
- 显示字体系列的有效字体粗细和样式。
- 改进了前端性能。
- 服务器端本地化,以获得更好的性能和隐私。
这是支持在核心 WordPress 中包含 API 的一小部分论据。
“Gutenberg 有许多改进处于不确定状态,等待 Web 字体 API,” Stathopolous 在票证中写道。 “在这一点上,没有网络字体 API 是一个障碍。 这不是我们心愿单中值得拥有的物品,而是向前迈进的必要条件。”
目前,没有任何标准专门与 WordPress 中的 Web 字体相关。 主题作者利用现有函数将第三方样式表或带有 @font-face 规则的自定义样式表加入队列。 多年来,这通常是主题作者社区的公认做法。
然而,许多人勉强接受了它。 一些人创建了自定义脚本来缓解痛点。 许多其他人只是复制最新的默认 WordPress 主题碰巧使用的任何方法。
目标之一是使开发人员不必担心加载 Web 字体所涉及的所有额外工作。 真的不需要主题来弄清楚如何在编辑器和前端加载它们、处理预加载或考虑本地化。 随着主题的老化和第三方 API(如 Google Fonts)的变化,如果 WordPress 在幕后进行处理,则无需更新主题。
当您将插件放入混合中时,如何最好地加载 Web 字体的问题会成倍增加。 通常,在设计方面,主题会承担所有繁重的工作。 但是,一些插件跳入 WordPress 世界的那一侧以添加额外的样式选项。 加载同一字体的多个副本时,无法解决冲突。 也没有任何可靠的方法可以禁用主题的字体并通过插件替换它们。
一位这样的插件作者给我发了电子邮件,让我知道我已经知道的消息。 Web 字体 API 似乎不再登陆 WordPress 5.9。 开发人员正准备在新功能的基础上推出一个新网站和服务。 他们甚至有一个吉祥物。 截至目前,它可能只需要等待。
功能冻结截止日期是两天前。 因此,Web 字体 API 不太可能重新添加到 WordPress 5.9 里程碑中。 也许开发者会在 6.0 落地时看到它。 也许将它推送到 Gutenberg 插件会为它注入更多活力,让贡献者能够推进依赖它的新功能。
像这样:
喜欢加载…