开发者新动态(2024年11月)
WordPress 6.7 定于 11 月 12 日发布,近在咫尺。现在是回顾此版本中核心、WordPress Playground、Gutenberg 以及开发者笔记最新更新的好时机。
本文总结了过去一个月与开发相关的变更,包括 WordPress 6.7 的最终确定功能、Gutenberg 的新功能以及 Playground 的更新。6.7 特有的项目已做标记。
一如既往,请务必使用最新的 WordPress trunk 和 Gutenberg 插件(当前版本 19.6.1)测试这些变更。这些月度汇总有助于您了解并准备好迎接新的 WordPress 功能。此外,我建议您回顾上个月的帖子,以获取关于 WordPress 6.7 即将到来功能的更多亮点。
亮点
实验性行内评论

Gutenberg 项目的第三阶段是协作,旨在为 WordPress 中的内容共同创作提供更直观的方式。这项工作的一个重要组成部分是行内评论,它允许多位作者在内容发布前进行审阅和提供反馈。
在 Gutenberg 19.6 中,行内评论现已作为实验功能提供。要启用它,请导航到 WordPress 管理后台的Gutenberg → 实验,并勾选块评论复选框。测试时请注意,您(目前)只能向未发布的页面和文章中的块添加评论。
您可以在跟踪问题中关注此功能的持续开发,或在原始的拉取请求中查看之前的工作。需要测试和反馈。
引入 WordPress.org 实验插件

一个名为WordPress.org 实验的新插件允许贡献者在实验性功能集成到 WordPress 核心之前进行测试。第一个实验功能是插件关闭原因,它在 WordPress 管理后台插件页面上每个已关闭的插件下方添加一个通知。此通知告知站点所有者,当他们使用的插件在 WordPress.org 插件目录中被关闭时——无论是因为插件被遗弃、作者请求移除、因安全问题关闭还是其他原因。
这个功能已经被需求多年,您可以关注Trac 工单,该工单的历史可以追溯到十多年前。
新的块类型注册 API
WordPress 6.7 引入了 wp_register_block_metadata_collection() 函数,该函数帮助插件更高效地加载块类型,这对于包含许多块的插件非常有用。以前,只有 WordPress 核心可以通过 WordPress 6.1 中引入的机制受益于优化的块加载。现在,插件也可以利用这一点,加速块的注册过程并提高站点性能。
请查看官方的开发者笔记以获取所有细节,特别是如果您开发多块插件。
WordPress Playground
最近 WordPress Playground 取得了许多令人兴奋的进展:
- 一个CORS 代理现已在 playground.wordpress.net 上可用。它允许通过
git:directory资源直接从 Git 仓库加载文件。 - Playground 团队还为 cURL 添加了浏览器支持,cURL 在 WordPress 插件中被广泛使用。此更新增强了插件兼容性,让开发者可以直接在 Playground 中向用户展示他们的插件。它甚至可以在
runPHP蓝图步骤中使用。 - 随着多站点功能的发布,为 Playground 团队启动一个新项目奠定了基础:使用 Playground 进行数据解放。您可以在他们的 GitHub 启动公告中阅读更多关于此项目的信息。
在 WordCamp Europe 之后,贡献者们集思广益,希望将“蓝图”重命名为更有趣的名称。经过研究和投票,“蓝图”仍然是 Playground 配置文件的首选术语。要探索蓝图并学习如何创建一个,请查看 Playground 的文档和蓝图库中的示例。
说到蓝图,蓝图库中新增了四个示例。
- 使用 Friends 插件的 Feed 阅读器:此蓝图安装 Friends 插件,并将 Playground 转变为 RSS 和 ActivityPub 阅读器。(您可以使用其订阅源 URL 将开发者博客添加到阅读器中)
- 创建块主题:此蓝图安装 创建块主题 插件。此配置为创建新主题提供了坚实的基础,无论您是基于现有主题构建子主题,还是完全从头开始。
- 使用 WPGraphQL 查询 WordPress:此蓝图安装 WPGraphQL 插件,并默认跳转到 WPGraphQL IDE 页面,允许用户测试 GraphQL 查询并探索 GraphQL 模式。
- Twenty-Twenty-Five 主题演示:此蓝图展示了默认主题,该主题具有杂志风格的首页和大量带有特色图片的文章。
插件和工具
块绑定 API 更新
块绑定 API 在最近两个 Gutenberg 版本中收到了几个关键的错误修复和增强。值得注意的是:
- 块绑定现在可以在小部件屏幕上使用,无论是在专用的基于块的小部件编辑器中,还是在自定义器中。
useBlockBindingsUtils函数现在接受 clientId 作为参数。- 当绑定在服务器和客户端都注册时,客户端注册中指定的标签现在优先。
- 如果图像块的
src属性有块绑定但没有值,则图像将不再被渲染。
要了解更多关于块绑定 API 以及 WordPress 6.7 中的新增强功能,请参阅官方的开发者笔记。
交互性 API 更新
交互性 API 的开发仍在继续,Gutenberg 19.5 中对实验性的全页面客户端导航功能进行了实质性增强。此功能在导航期间刷新整个页面的 HTML,允许在页面之间平滑过渡,同时保留应用程序的状态。有关进一步更新,请关注该项目的跟踪问题。
插件模板注册 API 更新
即将在 WordPress 6.7 中推出的插件模板注册 API 是一个令人兴奋的增强功能,它允许插件注册块模板。有关详细信息,请参阅官方的开发者笔记以及开发者博客上的近期教程。
此 API 包含两个函数:register_block_template() 和 unregister_block_template()。当 API 最初引入时,这些函数带有 wp_ 前缀,但为了遵循命名约定,在 Gutenberg 19.5 和 WordPress 6.7 中已被移除。如果您已经开始试验此 API,请仔细检查您的函数名称是否正确。
优化缩放模式
正如上个月的汇总中提到的,WordPress 6.7 将引入一个基础版本的缩放模式,Gutenberg 中正在进行工作以优化和改进它。最近几周已经修复了几个重要的错误以增强此功能。
- 缩放模式现在会在编辑模式更改时退出。
- 进入缩放模式时的缩放问题已得到修复。
- 键盘快捷键
⇧⌘0现在可用于切换缩放模式。 - 在缩放模式下双击模板现在会重置缩放级别,而不是显示对话框。
- 在缩放模式下点击
Enter键现在会重置缩放级别。
缩放模式将成为未来 WordPress 编辑体验的基本组成部分,因此需要反馈。请使用此模式测试您的插件和主题,并在 Gutenberg 仓库中报告任何问题。
isPreviewMode 标志稳定化
isPreviewMode 标志允许开发者检测编辑器何时处于预览模式,例如在插入器中预览模式或块时。这个标志现已稳定,当您希望根据块是被预览还是被用户主动编辑来修改块的渲染方式时非常有用。
例如,想象一个显示地图的块。出于性能原因,您可能选择在预览模式下显示地图的静态图像,而在块被放置到编辑器画布上时渲染完整的交互式地图。
组件更新
在最近几个 Gutenberg 版本中,几个核心组件收到了小幅更新:
Combobox,FormTokenField:这两个组件现在可以显示未找到匹配项时的消息。DropdownMenuV2:这个实验性组件已被重命名为Menu,这是它在未来版本中稳定化的先决条件。
您可以在 Storybook 中查看所有 WordPress 组件。
工具更新
如果您使用 create-block 或 wp-scripts 包,以下增强功能可能会改善您的工作流程。
create-block现在支持--target-dir标志,允许您指定在哪个目录中搭建插件或块。wp-scripts现在包含一个build-blocks-manifest命令和一个用于plugin-zip命令的--root-folder参数。
主题
与缩放模式的兼容性
WordPress 6.7 将附带一个缩放模式,允许用户快速在页面上放置模式。在此模式下,页面“主要内容”之外的块将不可编辑。WordPress 将首先查找文章内容块来确定主要内容是什么,但会回退到查找 <main> 标签。
总的来说,这对大多数主题作者来说应该不会改变什么,但如果您正在构建块主题,您应该确保您的每个模板都包含一个用于组或其他容器类型块的单一 <main> 标签。这已经是标准做法,并且是跳过链接正常工作所必需的。
查询循环块变更
WordPress 6.7 将包含对查询循环块工作方式的几项更新,这些更新应该使其对主题作者和用户都更容易使用。
设置项目数量、偏移量和最大页数的控件现在位于块检查器侧边栏中,使它们更容易被发现。以前,它们位于工具栏中。
工作流程的另一个重大变化是在将查询循环块插入单个文章、页面或自定义文章类型内容区域时。在这种情况下,查询类型控件将不再出现,默认将是显示文章的自定义查询。但在模板中使用该块时,每页文章数设置现在会被继承。
如果这还不够,还有一个新的过滤器用于按文章格式查询文章。
块库增强
WordPress 6.7 中的文章日期和评论日期块支持“human-diff”日期格式。这允许您显示自文章或评论发布以来的日期/时间(例如,3 小时前,10 分钟前等)。
Gutenberg 19.6 中还引入了其他几个块增强功能,但这些功能要到 WordPress 6.8 版本才会发布:
启用/禁用起始页面模式
编辑文章和页面的偏好设置模态窗口下有一个新的开关,标题为显示起始模式。这允许用户禁用您主题的起始模式在创建新文章或页面时出现。
这个增强功能很重要,因为它真正开启了一个您过去可能没有使用的有用功能。之前的工作流程对许多用户来说是一个主要的痛点,因此很多主题作者都避免使用它。但现在您可以开始捆绑起始模式,而不会惹恼您主题的用户。
可编辑的字体大小预设
WordPress 6.7 还将允许您直接从站点编辑器中的样式面板编辑字体大小预设。以前,这些只能通过 theme.json 编辑,仅限于开发者。现在,您的主题用户可以对其进行更改,但这同时也使我们向完全通过可视化界面设计主题迈进了一步。
值得注意的错误修复
Gutenberg 19.5 包含几个与主题相关的错误修复:
- 编辑器中嵌入块的 HTML 现在与前端的标记相匹配。
- 当
get_the_terms_list()返回WP_Error实例时,在使用文章术语块时产生的致命错误已修复。 - 在具有从右到左语言的站点上使用代码块时,代码现在应该正确地从左到右渲染。
资源
值得关注的开发者笔记
开发者笔记(简称 Dev Notes)在每个 WordPress 版本发布前发布在 Make Core 博客上,并提供新功能和特性的技术概述。
目前,几乎所有与 WordPress 6.7 相关的笔记都已发布,您可以使用标签 #dev-notes-6-7 找到它们。除了本文前面提到的那些,以下是一些引起我注意的笔记:
- 在 6.7 中订阅客户端导航时交互性 API 状态和上下文的变化
- 6.7 中脚本模块的更新
- 在 WordPress 6.7 中扩展预览下拉菜单
- 6.7 中的国际化改进
- WordPress 6.7 中的杂项块编辑器变更
WordPress 新闻
WordPress 新闻博客包含涵盖最新 WordPress 发布的帖子,以及关于主题目录中块主题数量不断增长的令人兴奋的更新。
开发者时间和 Learn WordPress
过去几周对于开发者时间和 Learn WordPress 教程来说非常忙碌。请查看下面的录制和新教程:
- 开发者时间:探索 Twenty Twenty-Five 主题
- 如何简化 WordPress 中的客户编辑
- 创建您自己的联系表单插件 – 第 2 部分(如果您错过了,这是第 1 部分)
- 修复插件检查问题
所有过去的开发者时间会话录制都可在 WordPress.tv 上找到,并且在 Learn WordPress 上有广泛的开发者内容。
走廊聚会
过去一个月举行了一次走廊聚会,这是围绕 WordPress 功能的社区讨论:
开发者博客
如果您还没有,请务必查看开发者博客上的最新教程。请继续关注更多展示 WordPress 6.7 中令人兴奋的新功能的内容。