社区新闻

开发者新动态(2024年10月)

WordPress 6.7 发布周期正在如火如荼地进行,Beta 2已于10月8日发布。正式版计划于11月12日发布,将引入许多新功能,包括 Twenty Twenty-Five 主题。所有关键日期请查看发布派对日程安排文章

如果你还没有开始,现在是开始测试 WordPress 6.7 和新默认主题的时候了。如果遇到任何问题,请在相应的地方报告:编辑器相关问题请提交到 Gutenberg GitHub 仓库,主题特定问题请提交到 Twenty Twenty-Five 仓库,其他任何问题请提交到 WordPress Trac

本文涵盖了在10月1日 Beta 1 发布前为 WordPress 6.7 最终确定的一些功能,以及 Gutenberg 中现已可用的新功能。与 6.7 特别相关的项目会明确标记。

请务必使用最新版本的 WordPress trunk 和 Gutenberg 插件(当前为 19.4 版)测试这些更改。这些月度汇总旨在让你了解最新动态,并帮助你为 WordPress 即将到来的所有新功能做好准备。

重点内容

区块绑定 API

区块绑定 API 用户界面(UI)已正式结束实验阶段,并将包含在 WordPress 6.7 中。最初,UI 将仅限于文章元数据,但 Gutenberg 中的持续工作将探索将此功能扩展到其他数据源。

默认情况下,只有管理员才有权限创建和修改绑定,这增加了一层额外的控制。此限制由新的 canUpdateBlockBindings 编辑器设置管理,你可以根据需要,使用 block_editor_settings_all 过滤器为其他用户角色进行调整。

此外,几个区块绑定 API 已在 Gutenberg 19.4 中稳定并可供开发者使用,它们也将包含在 WordPress 6.7 中。详细的开发者说明将在 6.7 发布前发布,在此期间,你可以参考拉取请求以获取新注册 API 和实用程序的完整概述。

有关 WordPress 6.7 中区块绑定 API 即将发生的变化的更多信息,请查看跟踪问题

缩小模式

WordPress 6.7 中的新缩小模式。

新的缩小模式已不再是实验性功能,并将包含在 WordPress 6.7 中。点击一个按钮,即可提供编辑器画布的缩小视图,从而更轻松地使用模式组合页面布局。关注6.7 迭代问题获取更多详情,或者在 Playground 中使用新的 Twenty Twenty-Five 主题亲自尝试

Gutenberg 中的持续开发将扩展 6.7 中包含的功能。最终,此模式将与仅内容编辑和下面重点介绍的新写作模式紧密集成。

新的写作和设计模式

在 Gutenberg 19.4 中切换写作和设计模式。

在 Gutenberg 19.4 中,编辑器中的两种编辑模式已从 选择编辑 重命名为 写作设计。新的 设计 模式与之前完全一样,允许用户添加任何区块、修改样式和设置、添加模式等。

然而,新的 写作 模式为新手用户或那些更喜欢更简化、复杂度更低的界面的用户提供了量身定制的简化编辑体验。在此模式下,区块被限制为仅内容编辑

写作 模式仍在积极开发中,并将在未来的 Gutenberg 版本中继续发展。如果你构建或维护自定义区块,现在是探索仅内容编辑(下文将详细介绍)并确保你的区块兼容的好时机。

预览下拉菜单可扩展性

预览下拉菜单的可扩展性演示。

在 WordPress 6.7 中,预览 下拉菜单现在可以扩展,允许开发者添加自定义菜单项以增强预览功能。想象一个启用暗模式预览的插件——可能性是无限的。

使用新的 PreviewDropdownMenuItem 组件实现这一点很简单,该组件可以使用 registerPlugin() 添加。此组件支持标题、图标和点击处理程序,允许你灵活地创建定制的预览选项。有关更多详细信息和代码示例,请查看文档

WordPress Playground

在浏览器中管理多个 Playground 实例。

WordPress Playground 领域有很多令人兴奋的消息。首先,网站进行了大规模改造,现在允许你使用 Playground 管理器同时运行多个 playground。你还可以将每个实例保存到持久存储中,无论是在浏览器中还是设备上的本地目录中。查看Make 文章了解所有细节。

其次,Playground 团队一直在努力开发新功能,包括无刷新网站部署、用于测试 WordPress Core 和 Gutenberg PR 的新查询参数,以及对使用蓝图将资源加载到 Playground 的方式的一些实质性改进

最后,贡献者在上个月向开发者文档添加了三份新指南:

插件和工具

模板注册 API 变更

上个月的回顾重点介绍了一个新的 API,开发者可以使用函数 wp_register_block_template()wp_unregister_block_template() 从插件注册区块模板。此后,贡献者决定移除 wp_ 前缀,将函数更改为 register_block_template()unregister_block_template()

此更改将在 WordPress 6.7 中实施。如果你已经开始在 Gutenberg 插件中使用这些函数,则需要在 Gutenberg 19.5 发布(10月23日)或 11 月升级到 WordPress 6.7 时更新它们。

在 iframed 文章编辑器中查看元框

在之前的 WordPress 版本中,元框阻止了编辑器画布被 iframed。Iframed 画布提供了许多好处,特别是样式可以更容易地被包含。因此,已经进行了几次关于如何支持 iframing 与元框并存的探索,元框在许多流行的 WordPress 插件中很常见。

在 WordPress 6.7 中,一个新的拆分视图为元框引入了一个可调整大小的抽屉,而编辑器画布现在被 iframed。还添加了键盘控制,使调整抽屉大小更容易。

如果你开发或使用包含元框的插件,请确保彻底测试此增强功能。根据元框的实现方式,iframed 画布可能会影响自定义功能。

仅内容编辑

在 WordPress 6.7 中,block.json 中用于定义属性是否在仅内容编辑模式下可编辑的 role 属性已经稳定。之前标记为不稳定,此更新使自定义区块开发者更容易实现仅内容编辑。

在接下来的几周内,开发者博客上的一篇文章将介绍如何在自定义区块中支持仅内容编辑。

过去几周对仅内容编辑的其他改进包括:

仅内容编辑将是未来 Gutenberg 版本的主要重点。有关最新更新和路线图详情,请关注推进仅内容编辑跟踪问题。此外,如果你对基于用户角色和能力控制此模式有特定需求,请分享你的反馈

交互性 API

交互性 API 进行了一些不错的更新,这些更新将包含在 WordPress 6.7 中。@wordpress/interactivity 包中的函数 getServerState()getServerContext() 现已公开,可供开发者使用。

getState()getContext() 类似,这些函数返回初始的服务器端状态或上下文,而不是客户端状态或上下文。当使用 navigate() 更新 HTML 时,它们也是订阅状态和上下文更改所必需的。

排版区块支持稳定化延迟

虽然最初计划用于 WordPress 6.7,但排版区块支持的稳定化已转移到 6.8 发布周期。使用实验性排版支持的自定义区块开发者应密切关注这项工作。尽早测试你的区块以确保没有向后兼容性问题将很重要。稳定排版支持也将为最终确定其他实验性区块支持(如 __experimentalDefaultControls)铺平道路。

客户端媒体处理实验

Gutenberg 19.2 中引入的一项实验支持在客户端而不是服务器上进行媒体处理,从而减少服务器负载并提高性能。你可以查看完整的跟踪问题了解详情。

在 Gutenberg 19.3 中,向编辑器首选项模态框添加了一个新的媒体部分,允许你自定义媒体上传流程的设置。此功能仍然是实验性的,必须通过 Gutenberg > 实验页面启用。鼓励进行测试。

数据视图和 DataForm API 增强

DataForm API 在 Gutenberg 18.8 中引入,作为减少数据视图中重复表单代码的更大努力的一部分。在过去的几个版本中,工作一直在继续,Gutenberg 19.4 现在增加了对 combinedFields 布局的支持,允许多个字段在同一行中呈现。

更广泛地说,在数据视图中,用户现在可以在字段级别重新排序控件,并且批量操作已移至页脚,以获得更简化的编辑体验。

PreSavePost 和 SavePost 过滤器已稳定

PreSavePostSavePost 过滤器的稳定化工作刚好在 WordPress 6.7 发布前完成。最初在 Gutenberg 19.0 中以实验形式引入,这些过滤器允许插件开发者在文章保存之前强制执行验证要求。如果验证失败,返回 false 会阻止文章被保存。

关于此功能的详细开发者说明将在本月晚些时候发布,但你可以在原始拉取请求和稳定化期间所做的更新中查看实现。

作为稳定编辑器组件的更广泛努力的一部分,用于渲染嵌套视图、面板和菜单并在它们之间导航的 Navigator 组件已经稳定。更多详情,请参见拉取请求,或探索 WordPress Storybook 以查看该组件的实际示例。

Fields 包引入

@wordpress/fields 包提供了一系列专为 WordPress 用户界面和要求量身定制的数据字段组件。目前与数据视图一起使用,此包包括特色图片选择器和文章别名编辑器等组件。虽然最初打算作为私有包,但后来被公开。尽管它有特定且有限的用例,但现在可供插件开发者使用。

区块增强

WordPress 6.7 包含一些旨在改善编辑体验的次要区块增强:

Create Block 包已更新

用于搭建注册自定义区块的 WordPress 插件的官方工具 @wordpress/create-block 包最近已更新。所有生成的插件现在至少需要 WordPress 6.6PHP 7.2

其他值得注意的更新

以下是需要注意的一些其他更新: