开发者新动态(2024年5月)
距离面向开发者的WordPress 6.5发布已经过去一个多月了。目前,6.6版本的工作正在顺利进行中,过去几周的许多变化都是基于上个版本的新API进行的迭代。
WordPress 6.5.3维护版本也于2024年5月7日发布。该更新修复了核心中的12个错误和区块编辑器中的9个错误。如果尚未升级,请务必进行升级。
让我们来看看新内容。和往常一样,请务必在WordPress trunk版本和最新版Gutenberg插件上测试以下更改。这些月度汇总的主要目标是帮助你保持更新并为下一个WordPress版本做好准备。
亮点
WordPress 6.6之路
一周前,WordPress 6.6路线图在Make Core博客上发布。预计于2024年7月16日发布的即将到来的版本,其许多计划似乎都集中在用户体验、主题以及对现有API的改进上。
值得期待的内容包括:
- 继续推进数据视图(Data Views)工作。
- 混合搭配通过全局样式变体定义的颜色和排版集。
- 同步模式(Synced patterns),该功能已从6.5版本中推迟。
- 扩展区块样式变体支持,包括为主题提供专用的
/block-styles目录。 - 增强区块的网格支持以及群组区块的网格变体。
- 阴影工具、负边距支持、宽高比预设等。
同时,请查看最新的走廊聚会关于Gutenberg未来发展的总结,其中包含多个正在进行中的功能演示。
颜色和排版样式变体

Gutenberg 18.3引入了一种定义仅包含颜色或排版的全局样式变体的新方法。当你在主题的/styles文件夹中定义仅包含颜色或排版样式的变体时,它们不会显示为完整的变体。相反,它们会出现在站点编辑器侧边栏的新颜色和排版面板下。
Playground的社区蓝图

现在有一个用于Playground社区创建蓝图的官方仓库。首批10个蓝图可在蓝图画廊中找到,提供了各种WordPress设置的实时演示。
初始画廊提供了多种蓝图供尝试,但它们主要作为学习该系统的示例。目标是让你开始创建自己的蓝图,通过Playground进行展示。提醒一下,你可以在插件目录中为你的插件添加蓝图,为用户提供实时预览。
插件和工具
HTML API进展报告
最近发布了一份关于HTML API的进展报告,其中包括对正在进行的内部改进和下一步工作的概述。未来的更新应包括:
- 读取和修改区块属性
- 完整的HTML支持
- Bits/Tokens(即Shortcodes 2.0)
稳定实验性组件
WordPress有超过二十个实验性编辑器组件正在走向稳定。对于其中许多组件来说,这早就该进行了,因为它阻碍了一些开发者使用核心工具进行构建。其中大部分组件应该在WordPress 6.6发布时准备就绪。
新增和更新的组件
在组件方面,最近几个Gutenberg版本包含了一些值得关注的变化:
- Gutenberg 18.3新增了一个
TextAlignmentControl组件,为全局样式中区块级文本对齐支持做准备。 - Gutenberg 18.2为
CustomSelectControlV2组件中的项目类型添加了disabled属性支持。
编辑器统一更新
继续推进统一文章编辑器和站点编辑器发布功能的项目。以下插槽现在在所有编辑器中可用:
PluginSidebarPluginPostStatusInfoPluginMoreMenuItemPluginSidebarMoreMenuItemPluginDocumentSettingsPanel
交互性API更新
在WordPress 6.5中公开的交互性API(Interactivity API)持续得到改进。以下是Gutenberg 18.2中你应该注意的一些变化:
- 现在可以在同一元素的同一事件类型上使用
data-wp-on声明多个事件监听器(此功能已反向移植到WordPress 6.5.3)。 - 当启用
SCRIPT_DEBUG时,将包含preact/debug包,允许你使用Preact Devtools来调试交互式区块。 - 查询区块已更新,以允许第三方交互式区块。
其他值得注意的变化
Gutenberg 18.3包含了一些其他你应该注意的更新:
- 捆绑的React版本已更新至18.3.1。这是为即将到来的React 19发布做准备。
- 当你注册一个没有名称的区块变体时,Gutenberg将触发控制台警告。
主题
默认字体大小设置触发theme.json升级至版本3
Gutenberg 18.3引入了一个新的settings.typography.defaultFontSizes属性,允许你在用户界面中禁用默认字体大小的选择。这修复了一个长期存在的问题,即核心字体大小与主题注册的字体大小同时显示。
此更改还将theme.json模式提升至版本3。请准备好更新你的主题,以便在WordPress 6.6发布时继续使用较新的theme.json功能。
布局更新
Gutenberg 18.2和18.3中对布局及相关样式进行了多项更新。核心代码的任何CSS更改都有可能破坏你的主题设计,因此请务必根据这些更改检查你的设计,并在WordPress 6.6发布前报告任何问题:
- 布局样式选择器现在被包裹在
:where()中,降低了其特异性。 - 对于没有
theme.json文件的主题,不再输出流式(flow)和约束(constrained)布局规则。 - 已恢复在经典主题中居中显示Gallery和Quote等区块的自动边距规则。
- 当放置在具有自定义内边距的容器内时,负边距现在会应用于全宽嵌套区块。
- 语义布局类现在在编辑器中始终正确添加。
除了这些底层更改外,当处于手动模式时,一个新的行控制已添加到具有网格布局的区块中。
文本对齐区块支持
Gutenberg 18.2为区块开发者引入了一个新的typography.textAlign支持属性。最终目标是将此功能迁移到使用临时文本对齐的核心区块,并通过全局样式支持它。
编辑器中的文章类
从Gutenberg 18.3开始,你现在应该能够在编辑器中使用标准的文章类(由get_post_class()函数返回)。这仅在查询循环区块中使用时显示。但它将一个长期使用的经典功能带入了编辑器,应该可以更轻松地使用上下文类来一致地设置文章样式。
区块修复
Gutenberg 18.2修复了多个区块的问题,这应该能缓解一些主题设计的难题:
- 包装器
<div>已从编辑器中的最新文章区块中移除,使其更易于一致地设置样式。它还在前端添加了一些缺失的类。 - 导航区块现在为文章类型归档显示
.current-menu-item类。 - 在区块标记级别重新添加了对文章标题区块
level属性的段落支持,但没有为其提供UI支持。 - 降低了Pullquote区块的内边距和Separator区块的边框样式的CSS特异性,以避免与全局样式冲突。
背景图片更新
Gutenberg 18.1为顶级站点背景图片添加了初始的theme.json支持和UI控件。作为完善该功能的后续任务的一部分,Gutenberg 18.2包含了一些UI更新:
全页客户端导航实验
作为WordPress 6.6交互性API迭代的一部分,Gutenberg 18.3添加了一个全页客户端导航的实验性设置。你可以通过访问WordPress管理后台的Gutenberg > 实验并打开它来进行测试。
请记住,这是一个早期实验,很可能会破坏你的主题设计的某些部分。请报告你遇到的任何问题。你可以在此跟踪问题上关注此功能的进展。
负边距支持
虽然负边距长期以来一直通过theme.json和自定义间距预设得到支持,但Gutenberg 18.3使其可以通过编辑器中的UI控件使用。现在是开始测试此功能是否与你的设计存在问题的好时机,因为WordPress 6.6将向你的主题用户开放此功能。
默认主题更新
如果你通常使用默认主题作为自己项目的起点,请务必查看这些更改,以防它们与你的主题相关:
- Twenty Fourteen:修复了Pullquote区块的字体大小问题。
- Twenty Twenty-One:添加了
wp_is_error()检查以防止在PHP 8.0+上出现致命错误。 - Twenty Twenty-Two:更新了页眉以更好地支持区块钩子API。
其他显著变化
最近几个Gutenberg版本中还包含了一些其他变化,这些变化主要与UI相关:
- 重命名区块的控件已从高级检查器面板中移除。目标是移除重复的控件(它也可以通过区块工具栏和列表视图使用)。
- 已移除群组区块示例预览的硬编码样式,现在应该让你自定义的群组样式正常工作。
- 经典主题现在在管理后台显示一个外观 > 模式菜单项。此更改还移除了模板部件项。
- 站点编辑器现在支持从UI创建起始模式。
资源
WordPress新闻
在主要的WordPress新闻博客上,发布了两篇与开发者相关的文章,如果你错过了,应该补上:
开发者时间
四月份有两场新的直播会议,涵盖了WordPress 6.5的主要功能:交互性API和区块绑定API。它们可以通过YouTube观看:
下一场开发者时间活动将于2024年5月14日星期二举行,将涵盖元框替代方案。注册观看直播!
开发者博客
上个月,开发者博客上发布了四篇新教程。一如既往,还有更多教程即将到来,但如果你还没有阅读这些,请花些时间补上: