版本发布 — 本文介绍 7.0 版本的主要变更与开发者注意事项。
WordPress 7.0 正式发布在即。本次更新共包含 超过 419 个 Core Trac7 工单和 Gutenberg1 的 411 项增强与 486 个 Bug 修复。本文基于官方 Field Guide,梳理开发者最需要关注的变更。
未来的 AI 构建模块
WordPress 7.0 开启了全新篇章,内置 AI 集成能力。与供应商无关的架构让你完全掌控各项单元和能力——能力是指执行一种或多种任务的权限。通过 current_user_can 函数检查用户是否拥有某项能力。WordPress 站点的每个用户根据其角色可能拥有某些权限,但不具备其他权限。例如,拥有作者角色的用户通常有权编辑自己的文章(edit_posts 能力),但无权编辑其他用户的文章(edit_others_posts 能力)——同时还能利用 AI 带来的无限可能。这些关键的构建模块只是起点,为智能协作伙伴和更多功能铺平道路。
WP AI 客户端
WordPress 7.0 在网站中直接解锁了 AI 能力。新的 WP AI 客户端提供了一个中央接口,让插件能够与生成式 AI 模型通信,同时保持与供应商无关。WordPress 核心为你处理请求路由。在 设置 > 连接器 界面中管理,API 密钥通过连接器 API 传入,你可以从一些预设模型开始,并添加自己偏好的模型。
作为额外福利,能力 API 直接集成到 WP AI 客户端中,提供全新且广泛的 AI 能力,这些能力可以构建到工作流中,让能力一个接一个地流畅运行。
插件开发者可以使用新的 using_model_preference() 函数,按偏好顺序指定要使用的模型,然后添加功能检测以匹配可用模型的能力——从而降低成本并加快处理速度。AI 客户端包含一系列高级配置控件,以及一个用于调用方法的 WP_AI_Client_Prompt_Builder 类。为了便于升级,wordpress/wp-ai-client 包会自动处理向 7.0 的过渡。
客户端能力 API
WordPress 7.0 在 Abilities API 的基础上进一步扩展,引入了对应的 JavaScript 版本:客户端能力包(Client-Side Abilities)。该包提供了新的混合能力、直观的用户界面、命令面板,以及过滤和查询功能。
插件开发者可以通过加载 @wordpress/core-abilities 自动通过 REST API2 获取并注册服务端能力,也可以只加载 @wordpress/abilities 来处理插件自身的客户端能力。注册后的能力会按可自定义的分类进行组织,同时 PHP10 API 也支持取消注册能力和分类。此外,该包支持元数据注解,core/abilities 还提供了 useSelect,方便在 React4 组件中进行响应式查询。
AI 连接器管理页面
新的连接器管理页面让你可以在一个地方管理所有 AI 提供商的连接。该页面位于仪表盘的 设置 > 连接器 下,提供了管理连接所需的全部功能。已注册的连接器会自动显示在页面上,并以卡片形式展示详细的注册元数据。连接器页面默认包含三个提供商:Anthropic、Google 和 OpenAI,同时也允许用户配置自己的连接。
[⌊WP 7.0 连接器管理页面⌉⌊WP 7.0 连接器管理页面⌉
连接器 API
连接器 API 是连接器页面的核心,它是一个可扩展的 API,用于支持智能体的接入。
该 API 支持两种认证方式(api_key 和 none),具体取决于提供商元数据,并且设计上为未来版本支持更多连接器类型做好了准备。Connectors API 利用 WP AI Client 的默认注册表来自动发现提供商,并通过对应的元数据生成连接器;而通过其他方式认证的连接器则存储在 PHP 注册表中。你可以使用 wp_connectors_init 动作来覆盖连接器元数据,这将是未来版本注册新连接器类型的关键。该 API 提供了三个公共函数用于查询注册表,前端 UI 也可以通过客户端 JavaScript 注册进行自定义。
现代化的仪表盘
WordPress 7.0 带来了升级的管理员(及超级管理员)体验,包括一套名为“Modern”的时尚新配色方案、仪表盘各处的多项增强,以及在页面间导航时无缝的视觉过渡。顶部工具栏新增了一个命令面板快捷键,让你可以从仪表盘的任何位置快速访问工具;同时,一个全新的字体管理专用仪表盘页面集中并简化了字体管理。增强后的 iframe 文章编辑器让界面更稳定,编辑者可以在区块上留下评论、接收笔记通知,甚至直观地对比两个修订版本。
新的管理员配色方案与样式
WordPress 管理后台因一套全新的、时尚的仪表盘配色方案而焕然一新。新的 Modern 管理主题已应用于管理员头部、定制器(Customizer,WordPress 核心内置的工具,可挂钩大多数现代主题,用于预览和修改网站外观设置)、配色方案选择器、脚本加载器、各种用户函数,甚至多站点(Multisite,指安装有多个博客网络的 WordPress 站点,共享用户表,并为每个博客创建独立的数据库表)的用户注册界面也经过了重新设计。Modern 主题简洁且护眼,拥有焕然一新的调色板、更高的对比度以及升级的排版,提升了管理体验。
WP 管理后台中的视图过渡
在 WordPress 7.0 中,仪表盘的导航体验更加流畅。当你在 wp-admin 中移动时,用户视图会在不同屏幕之间平滑滑动。跨文档视图过渡为管理菜单项使用了不同的过渡名称,以实现这种简单的视觉滑动效果,当活动子菜单在不同屏幕间切换时触发。考虑到所有用户,视图过渡仅在操作系统层面未设置“减少动效”偏好时才会激活。
命令面板快捷键
通过新的命令面板快捷键,只需一次点击即可从仪表盘任意位置访问编辑工具集。WordPress 7.0 为登录用户在顶部工具栏中提供了一个 ⌘K 或 Ctrl+K 图标,点击即可展开命令面板。这一新快捷键可加速编辑操作,让你在仪表盘的任何位置——无论是构建、设计还是浏览笔记时——都能完全掌控。
字体库
WordPress 7.0 中的字体库得到了扩展,新增了专门的字体管理页面。现在,你和你的团队可以在一个地方管理、上传和安装字体,适用于区块、混合和经典主题。
可视化修订
在 WordPress 7.0 中,可视化修订让编辑变得更简单、更直观,同时让你更深入地了解文章或页面的编辑历史。用户现在可以直接在编辑器中通过滑块条直观地比较两个修订版本,并在它们之间切换。文档检查器会显示更改摘要,同时每个位置的颜色指示器和更改大小都清晰可见,点击即可跳转到页面上的相应位置。
iframe 编辑器
WordPress 7.0 中改进的 iframe 编辑器为文章编辑体验带来了更高的稳定性。当文章中插入的所有区块 API 区块都使用 API 版本 3 或更高版本时,将强制启用 iframe 文章编辑器。如果不满足条件,iframe 将被移除,以保持对低版本区块的向后兼容性。
WordPress 7.0 创意定制:增强的设计工具与编辑能力
WordPress 7.0 通过增强的设计工具和全新的编辑能力激发创意。用户现在可以自定义移动端导航覆盖层、对单个区块进行精细的响应式控制,并能在不同模式下以模式(Pattern)级别进行编辑。
移动端自定义导航覆盖层
汉堡菜单覆盖层现在可以在站点编辑器中使用区块和模式进行自定义构建,并提供了一个专用的导航覆盖层关闭区块,用于在覆盖层内任意位置放置和设置关闭按钮的样式。这为用户和主题作者提供了定义移动端导航体验的灵活性。原地覆盖层选择和预览功能创造了无缝的编辑体验,用户可以查看和分配覆盖层,主题也可以提供默认模板以便快速设置。
响应式编辑模式
WordPress 7.0 引入了基于设备类型的可自定义区块可见性,允许编辑者按设备隐藏或显示区块,且不影响其他视口。启动区块可见性选项模态框的控制按钮位于区块工具栏、区块检查器边栏和命令面板中。在列表视图中,已启用可见性规则的区块旁边会显示图标,指示它们在哪些视口下被隐藏。
为进一步增强响应式能力,7.0 还引入了在不同断点下更改样式、自定义断点大小等功能。
模式编辑与 contentOnly 交互
7.0 引入了自定义区块的模式覆盖、上下文模式和符号模式的模式级编辑模式、按钮和列表区块的父子树状视图,以及选择退出 contentOnly 模式的能力。
contentOnly 模式现在将成为之前依赖对其内部区块进行无限制编辑的模式的默认设置,而新的 disableContentOnlyForUnsyncedPatterns 设置或 block_editor_settings_all PHP 过滤器允许为不同步模式选择退出 contentOnly 模式。
在 7.0 中,contentOnly 模式的应用范围更广。因此,如果一个区块嵌套在 contentOnly 模式中,插件开发者需要确保代表该区块内容的属性在 block.json 中设置了 "role": "content",以保留其可编辑性,并防止它们在列表视图中被隐藏。
WordPress 7.0 开发指南
区块开发者现在可以通过在 block.json 中添加 "listView": true 的区块支持声明,为区块检查器增加一个「列表视图」标签页。该标签页为区块提供专用视图,让编辑者能够更轻松地更新和自定义区块。
支持区块绑定的区块属性现在也支持自定义区块的模式覆盖。模式覆盖现在适用于任何区块,包括自定义区块,并可通过 block_bindings_supported_attributes 过滤器选择启用。属性值会出现在动态和静态区块渲染后的标记中。如果静态区块的属性比 HTML API 能处理的更复杂,可以使用 render_callback() 函数来确保绑定的属性值能够正确渲染。
设计灵活性
WordPress 7.0 通过引入新的区块、新的区块支持和新的设计工具,让设计变得更加灵活。7.0 内置了全新的标题区块、图标区块和面包屑导航区块,同时为画廊区块增加了灯箱支持,为导航链接区块增加了动态 URL 支持。7.0 还包含文本行缩进支持、文本列支持、尺寸宽度和高度支持、尺寸预设、工具和控件,以及宽图和全图的宽高比设置。
区块级别的自定义 CSS
7.0 引入了在页面上为单个区块应用自定义 CSS 的能力。这让用户能够对内容的每一个细节进行精细控制,并通过快速直观的方式访问样式控件。
标题区块
全新的标题区块包含所有标题级别的变体,可在边栏检查器中轻松切换,支持快速转换,并在搜索和斜杠插入器中显示。
面包屑区块
7.0 新增的面包屑区块会自动反映网站的导航层级,并支持在主题头部等站点部件中全局应用。新的过滤器允许开发者添加、删除和修改面包屑路径,并指定哪些分类和术语出现在面包屑轨迹中。
导航区块
导航区块的编辑体验现在更加简化,改进了插入方式、模式编辑和仅内容模式的交互性,并优化了“绑定”页面项的呈现。
视频嵌入封面区块
现在可以将视频作为封面区块的节背景进行嵌入。
画廊区块
画廊区块现在支持灯箱效果,并新增了幻灯片播放选项。只需创建并插入一个画廊,点击链接图标,然后选择“点击放大”即可。
[⌊.0 画廊灯箱幻灯片图像⌉⌊.0 画廊灯箱幻灯片图像⌉]
新增 <p> 区块支持
段落区块中的文本现在可以按列布局排列,并且引入了可选的 textIndent 区块排版支持。
更多关于新增和优化区块的详细信息,请参阅:
尺寸支持增强
7.0 引入了区块的宽度和高度支持、段落中的排版文本缩进支持、预设值支持,以及在 theme.json 层级为 core/button 区块添加的伪元素支持(包括 ':hover'、':focus'、':focus-visible'、':active')。在 theme.json 中新增了对尺寸预设值的支持,适用于宽度、高度和最小高度等区块支持,允许区块的变体控制相同的伪元素。同时,可以利用一组预定义的尺寸区块支持预设值,减少在多个区块中重复设置相同值的需求。
开发者工具箱
WordPress 7.0 开发者工具箱:PHP 区块注册、交互 API 与站点编辑器扩展
WordPress 7.0 为开发者带来了丰富的工具箱,包括全新的构建工具、增强的支持结构以及扩展的 API 能力。开发者现在可以在服务器端创建纯 PHP 的区块表示、自定义插件列表过滤器,并为更具可扩展性的站点编辑器奠定基础。
PHP 纯区块注册
WordPress 7.0 允许直接在服务器端使用 PHP 创建区块和模板,并通过 Block API 进行注册。PHP 纯区块和模板的表示包括模板创建和语法,简化了区块创建和绑定过程。当区块声明 'supports' => array( 'autoRegister' => true ) 并附带渲染回调时,区块会自动注册,并通过 JavaScript 全局变量暴露给客户端。PHP 注册的区块属性可以在编辑器中进行编辑,检查器控件可以从属性自动生成,对于 PHP 自动注册的区块,还会自动添加 DataForm 检查器控件。
交互 API
@wordpress/interactivity 包引入了新的 watch() 函数,该函数订阅回调中访问的任何信号的变化,并在这些信号发生变化时重新运行回调。API 的 data-wp-watch 可以添加到 DOM9 元素的生命周期中,并对状态变化做出响应。state.url 值现在在指令处理期间在服务器端填充,在首次客户端导航发生之前保持不变。
DataViews 和 DataForms
体验新的 Activity 布局、新的 Details 布局、改进的模态窗口外观,以及在 Field API 中注册第三方类型的能力。
区块绑定 API 迭代
引入了区块绑定和模板覆盖功能,支持按格式过滤可用的属性源,与 Field API 保持一致。
新的插件列表过滤器
在 get_views() 中添加了新的 plugins_list_status_text 过滤器,允许自定义过滤。使用 plugins_list 添加的自定义状态现在会以标签形式显示,用于过滤相关插件。标签文本可以使用新的 plugins_list_status_text 钩子进行自定义。
站点编辑器构建与路由
在 7.0 中,为可扩展的站点编辑器和路由奠定了基础,包括路由验证、新的 @wordpress/boot 包(允许插件构建自定义站点编辑器页面),以及重构后的 @wordpress/scripts(支持从目录构建并减少对 Webpack 的依赖)。
开发者福利
WordPress 7.0 引入了覆盖核心各个领域的更新。这些变化支持了正在进行的计划,旨在为开发者打造灵活的基础,同时提升可用性和机会。
针对内容类自定义文章类型的块钩子
块钩子的逻辑已从单个文章类型过滤器移至 REST 控制器。
更安全的用户注册
管理员和编辑角色已从管理屏幕“常规”下的新用户默认选择器中移除。站点健康现在会在更新前检测是否选择了这些角色,而新的 default_role_dropdown_excluded_roles 过滤器允许开发者更改默认排除的角色。
CodeMirror 更新至 v5
CodeMirror 已更新至最新的 v5 版本,同时更新的还有 CSSLint、HTMLHint 和 JSONLint,而 Esprima 已被替换为 Espree,以支持 ES611 和 JavaScript 代码检查。
外部库更新
- backbone.js 已升级 至最新版本(1.6.1)。
- Requests 库已从 2.0.11 更新至 2.0.17。
PHP 更新
- WordPress 核心的 最低 PHP 版本现为 7.4。
- PHPMailer 已更新 至 7.0.2 版本,其中包含一个发件人地址错误修复。
无障碍性
(注:原文中“Accessibility”部分未提供具体内容,此处仅保留标题,实际改写时需根据原文补充。)
WordPress 7.0 包含大量改进和新增功能,旨在让内容对所有人都更易于访问。登录密码重置功能现在会预填用户名,以符合 WCAG6 2.2 标准(WCAG 是 Web 内容无障碍指南的缩写,旨在确保互联网对所有用户都可访问,无论他们使用屏幕阅读器、仅键盘操作等方式)。此外,新增的 wp_get_image_alttext() 函数可从图片的 IPTC8 元数据中导入替代文本。.screen-reader-text 类已添加 word-break 属性,确保屏幕阅读器不会将隐藏文本中的单词拆分为单个字母来朗读。同时,视图过渡仅在未设置减少动效时才会激活。
现在,通过新增的 $use_title_attr 参数,可以从两个函数中移除标题属性;默认情况下,三个作者链接函数也已移除了标题属性。
但不止于此!
7.0 带来的远不止这些!已有超过 300 个核心缺陷、486 个 Gutenberg 缺陷(Gutenberg 是 WordPress 的新编辑器界面,通过“块”来简化内容创建,替代短代码和自定义 HTML)、77 项增强功能和功能请求,以及 35 项受祝福的任务 被标记为在 WordPress 7.0 中已修复。以下是一些亮点:
WordPress 7.0 现场指南
以下是被标记为在 WordPress 7.0 中已修复的关键变更亮点:
- 站点健康:OPCache3 信息已添加至
站点健康 > 信息 > 服务器页面(Trac #63697) - 编辑器:保存模式时,名称/描述元数据已添加(Trac #64123)
- 脚本加载器:允许脚本依赖模块(Trac #61500)
- 脚本加载器:HTML55 脚本主题支持已被弃用并移除(Trac #64442)
- 通用:当
WP_DEBUG不为真时,允许钩入wp_trigger_error()函数(Trac #60886) - 多站点:网络和站点不再在账户被标记为垃圾时自动将网站标记为垃圾(Trac #61146)
- 主题:PHP 8.1 弃用通知处理(Trac #64864)
- 编辑器:所有组件底部外边距已移除,无外边距样式现为默认设置(GB12 #39358)
感谢所有为这个 WordPress 版本做出贡献的人——无论是通过代码、测试还是其他方式——你们的贡献至关重要,帮助 WordPress 变得更好。
感谢 @westonruter、@sabernhardt、@marybaum、@jeffpaul、@jorbin、@desrosj、@coffee2code、@audrasjb、@wildworks 和 @ankit-k-gupta 的协作与审阅。
编辑记录:
– 5/17/26:添加 DataViews 开发者笔记;更新连接器屏幕截图;添加 textIndent 块支持开发者笔记;移除对播放列表块的提及;添加无外边距样式为默认的说明。
– 5/18/26:移除“备注”部分;插入新的画廊块幻灯片图像。
名词解释
- Gutenberg:WordPress 的区块编辑器项目名称 ↩︎
- REST API:基于 HTTP 的应用程序接口 ↩︎
- OPCache:PHP 字节码缓存组件,可提升 PHP 执行性能 ↩︎
- React:Meta 开源的 JavaScript 界面库 ↩︎
- HTML5:网页内容展示标准 ↩︎
- WCAG:Web 内容无障碍指南 ↩︎
- Trac:WordPress 使用的项目管理和缺陷追踪系统 ↩︎
- IPTC:国际新闻电信理事会元数据 ↩︎
- DOM:文档对象模型,网页结构的编程接口 ↩︎
- PHP:WordPress 核心使用的服务端编程语言 ↩︎
- ES6:JavaScript第6版标准 ↩︎
- GB:千兆字节存储单位 ↩︎


发表回复