开发者新动态 (2026年3月)
WordPress 7.0 的发布周期正在快速推进。最新的 Gutenberg 版本 (22.6) 已汇总了计划在 7.0 中推出的功能,候选版本 (RC1) 定于 2026 年 3 月 19 日发布。官方的《现场指南》也正在开发中。WordPress 7.0 Beta 3 现已可供测试。测试团队鼓励参与,并发布了一份有用的指南,包含摘要和视频,以帮助用户熟悉新功能。
请确保立即更新到今天(3月10日)发布的仅安全修复的小版本 WordPress 6.9.2。它修复了十个漏洞:一个盲 SSRF、HTML API 和块注册表中的 PoP 链弱点、数字字符引用中的正则表达式 DoS、导航菜单中以及通过 data-wp-bind 指令的存储型 XSS、一个 AJAX 授权绕过、一个 PclZip 路径遍历,以及捆绑的 getID3 库中的 XXE——该库现在上游也已修复。
3月12日更新: 在此期间,WordPress 6.9.3 + 7.0 Beta 4,以及随后的版本 6.9.4 也已发布。
亮点
实时协作 (RTC) 即将登陆 WordPress 7.0
RTC 的底层技术管道已在 Beta 4 之前解决。该实现使用 HTTP 轮询同步提供程序,取代了不可靠的 WebRTC,以实现跨托管环境的通用兼容性。CRDT(无冲突复制数据类型)更新数据使用 post_meta 存储在一个特殊的内部文章类型 (wp_sync_storage) 上。同步提供程序架构设计为可以更换存储和传输层。更新会定期压缩,请求会批量处理。客户端的 Gutenberg 代码最初将同时协作者限制为两人,但主机可以通过 wp-config 常量添加不同的提供程序或调整默认值。默认启用 RTC 的决定将在 RC2 左右最终确定。另请参阅随附的开发者笔记。
插件目录中的 AI 提供程序包
WordPress 7.0 将引入围绕 php-ai-client 包构建的连接器功能,这是一个用于标准 AI 服务通信的共享 PHP 库。插件目录中现在提供了三个提供程序包:分别用于 OpenAI、Google 和 Anthropic。这种结构允许开发者针对共享接口编写一次功能,使切换提供程序成为简单的配置更改。
连接器屏幕将进入核心,将凭证存储和提供程序选择建立为平台级基础设施。
编辑器内修订:可视化变更追踪
块编辑器的修订面板现在提供了一种在文档检查器中直接追踪变更的可视化方式。颜色编码的叠加层指示变更:绿色轮廓表示添加的块,红色表示移除的块,黄色表示设置已修改的块。对于文本内容,添加的文本为绿色/下划线,移除的文本为红色/删除线,仅格式更改则获得黄色轮廓。此叠加层可以关闭。该功能使用两步流程——快速检查已更改的块,然后仅对标记的块进行完整的富文本比较——并使用 currentColor 实现与主题兼容的着色。
插件和工具
已发布多篇开发者笔记,以便开发者和机构有时间为新版本做准备。(见资源部分)最终的开发者笔记列表将在候选版本1之后随《现场指南》一起发布。
Iframed 文章编辑器推迟至 WordPress 7.1
在《开发者新动态(2026年2月)》中提到的“始终 iframed 文章编辑器”已推迟到核心 WordPress 7.1。然而,Gutenberg 插件仍将 iframe 文章编辑器块。更多细节可在此处获取。
新的 WP CLI wp block 和 ability 命令
WP-CLI 团队正在开发一组新的命令 (wp block),用于对块实体的只读访问,导出模式和模板除外。另外一组能力命令也在开发中。这些包领先于 WP-CLI v3.0,可作为开发依赖项进行测试:
wp package install wp-cli/block-command:dev-main
wp package install wp-cli/ability-command:dev-main
或通过 Composer
composer require wp-cli/block-command:dev-main --dev
composer require wp-cli/ability-command:dev-main --dev
或者你也可以直接使用:
wp cli update --nightly
团队的目标是在三月底发布 3.0 稳定版。
wp-env Playground 运行时支持 phpMyAdmin
wp-env Playground 运行时现在支持 phpMyAdmin,达到了与 Docker 运行时的功能对等。你可以通过在 .wp-env.json 配置中添加布尔选项来启用它。
{
"phpmyadmin": true,
"runtime": "playground"
}
启用后,phpMyAdmin 可在 http://localhost:8888/phpmyadmin 访问,wp-env status 将显示该 URL。
全局样式自定义 CSS 现在遵循块定义的功能选择器
块选择器 API 允许块作者在 block.json 中定义特定功能的 CSS 目标,现在全局样式中的“附加 CSS”功能已遵循此 API。此更改允许块在其 block.json 中声明一个 selectors.css 条目,将自定义 CSS 指向特定的内部元素(例如,内部内容、图像或 <svg>),从而实现对主题级自定义 CSS 的精确控制。
UI 包和组件开发持续进行
UI 包继续开发,增加了更多原语和功能,支持管理后台重新设计。最近添加的组件包括:
主题
图标块
设计者现在可以利用新的图标块从预选库中添加 SVG 图标。这由新的服务器端 SVG 图标注册 API 支持。REST 端点 /wp/v2/icons 可用于搜索和过滤。初始版本不允许注册第三方图标集,并从 wordpress/icons 包中提取图标。第三方图标注册的可扩展性计划在未来实现,可能在 7.1 版本,待图标注册 API 架构进一步开发后。初始集从 wordpress/icons 包中提取。
导航叠加层模式
导航块现在具有可自定义的叠加层,使用户能够完全控制移动端菜单。该功能不再是实验性的,将随 WordPress 7.0 一起发布。创建叠加层按钮指导设置,提供各种设计的模式。
详细信息可在以下 PR 中找到:
仅内容模式编辑
对于 WordPress 7.0,模式现在默认采用仅内容编辑模式。此模式以块图标和浮动菜单中分组的属性来组织字段,减少了内容创作者的视觉干扰。富文本格式可以内联工作,不受工具栏干扰。当需要进行结构编辑时,分离模式可恢复完整的块访问权限。
管理员可以通过 PHP 过滤器或 JavaScript dispatch 使用新的 disableContentOnlyForUnsyncedPatterns 设置,为非同步模式选择退出仅内容模式。
add_filter( 'block_editor_settings_all', function( $settings ) {
$settings['disableContentOnlyForUnsyncedPatterns'] = true;
return $settings;
} );
wp.data.dispatch( 'core/block-editor' ).updateSettings( {
disableContentOnlyForUnsyncedPatterns: true,
} );
图库灯箱现在支持图片导航
图库块中的灯箱功能已扩展以支持使用后退/前进按钮和方向键在图片之间导航。已禁用灯箱的图片会自动跳过。
文本对齐支持扩展
八个块已迁移到标准化的 text-align 块支持:
资源
WordPress 7.0 首批开发者笔记
- 面包屑块过滤器:了解如何使用两个新的 PHP 过滤器来自定义面包屑导航项和分类法/术语偏好。
- 可自定义的导航叠加层:主题开发者学习如何注册和捆绑新的 navigation-overlay 模板部件区域,以实现完全可定制的移动导航叠加层。
- 交互性 API 的变更:新的
watch()函数和服务器端state.url填充支持更清晰的副作用和导航追踪模式。注意state.navigation现已弃用。 - DataViews、DataForm 等:一次重大的 API 更新引入了新的布局、验证规则、分组选项和选择器改进,影响使用
wordpress/dataviews的插件。 - 仅 PHP 块注册:你现在可以使用新的
autoRegister支持标志仅用 PHP 注册一个功能完整的块——无需 JavaScript。 - theme.json 中块及其变体的伪元素支持:主题开发者现在可以直接在 theme.json 中为块及其样式变体设置 :hover、:focus、:focus-visible 和 :active 状态的样式,无需自定义 CSS。
- 块编辑器中的实时协作:插件开发者必读:了解经典元框如何禁用协作模式,如何使用 sync.providers 过滤器自定义 Yjs 传输层,以及如何避免本地状态漂移和意外的块插入副作用等常见陷阱。
开发者博客
过去一个月,开发者博客上发布了两篇新文章。如果你还没读过,现在是时候了:
外部工具
Yjs 是驱动 WordPress 期待已久的实时协作编辑的引擎。