跳到正文
原文
Make WordPress Core(核心开发)· George Mamadashvili·· 2 天前精选编辑评分77

Gutenberg 24.3 发布,支持跨区块设置文本格式并更新 Media 插入器

What’s new in Gutenberg 24.3? (28 October)

编辑导读

Gutenberg 24.3 已发布并开放下载,新增跨多个区块统一设置文本格式、笔记 Emoji 反应,并基于 DataViews 网格重新设计 Media 插入器。该版本还改进保存和自动保存失败提示,提供服务端 Core Actions 与 Fields,并包含 WordPress 7.1.4 的安全修复。

推荐理由

原文汇总了 Gutenberg 24.3 的编辑体验、扩展接口、性能与安全变化,并附完整变更日志,便于开发者评估升级影响。

“Gutenberg 新品速览…”系列帖子(带有 #gutenberg-new 标签)会在每次 Gutenberg 发布后每两周发布一次,展示每个版本中推出的新功能。作为提醒,以下是关注 Gutenberg 和编辑器更新的不同方式概览。

Gutenberg 24.3
有哪些新变化?

Gutenberg 24.3 已发布,现可下载!

此版本让你能够一次为多个区块中的文本设置格式,为便签添加表情回应,并在 DataViews 网格基础上重新设计媒体插入器。保存和自动保存失败时,现在会告诉你出了什么问题。开发者将获得服务端 Core 操作和字段,以及若干 Interactivity API 修复。所有这些都得益于一支出色的贡献者团队,其中有十位是首次参与。

  1. 跨区块设置文本格式
  2. 便签表情回应
  3. 媒体插入器全新亮相
  4. 可说明原因的保存失败提示
  5. 来自 WordPress 7.1.4 的安全修复
  6. 其他值得关注的亮点
  7. 更新日志
  8. 首次参与的贡献者
  9. 贡献者

跨区块设置文本格式

跨越多个区块的选区如今也可以设置格式了。选中文本后,格式控制项现在会应用于全部文本(#58913)。

多区块选区处理也获得了其他几项升级。你可以按住所选区内的任意位置来拖动它(#81602)、移动已拖动的文本选区(#81603),并在同一区块内按住 Shift+单击时保留富文本选区(#84579)。

便签表情回应

有时,一条便签只需一个表情作为回复。便签现已支持 ❤、🎉、😄、👀 和 🚀 等表情回应(#76767)。

便签也得到了一些打磨。它们现在能更清晰突出显示并关联到相关内容(#80578),未发送便签的文本也会标为草稿(#84125)。工具栏中的“添加便签”按钮现在只会添加便签,不再显示头像(#84635)。

媒体插入器全新亮相

媒体插入器现在会在 DataViews 网格中显示你的媒体,该网格与站点编辑器中列表所用的组件相同(#82749)。

此外,音频和其他非图像或视频文件现在也能获得恰当的预览(#84882)。

可说明原因的保存失败提示

没人喜欢保存失败。保存失败提示现在提供复制选项和“显示/隐藏详情”按钮,方便你分享出错原因(#82496)。无服务器响应的自动保存失败也会得到说明,并在可用时显示 HTTP 状态(#85157)。

自动保存失败后,倒计时会显示下一次尝试的时间(#84656);后续保存成功时,提示便会消失(#84649)。

来自 WordPress 7.1.4 的安全修复

Gutenberg 24.3 还包含 WordPress 7.1.4 的安全修复,因此建议进行更新。

其他值得关注的亮点

  • 模式:插入器中的“我的模式”现已更名为“站点模式”,并新增作者筛选器;你可以阅读但无法编辑的已同步模式会列在插入器中,并且可以分离(#84680、#84661、#84641、#84681)。
  • 设计工具:一致性工作仍在继续,Search、Table、Tab List、Paragraph 和 Icon 获得了更多支持,适合文本功能扩展至 Post Title,书写模式扩展至 Quote 和 Pullquote(#83954、#83949、#83953、#83934、#83948、#83036、#83965、#83964)。区块支持界面中还新增了背景剪裁控件(#77142)。更新日志列出了所有区块和支持项。
  • 不换行空格:它们现在会以红点标示,并且可通过按钮替换为普通空格(#84737)。
  • 导航:可在侧边栏列表视图的弹出窗口中编辑链接,空的导航菜单会在侧边栏中显示插入器(#84005、#84003)。
  • 图库:移动端灯箱支持动画滑动(#79114)。
  • 查询循环:列出分类术语以便浏览,而不是召回(#82583)。
  • 目录:当该区块在区块上下文中使用时,从文章中读取标题(#85040)。
  • 区块工具栏:仅当不存在允许拆分的区块时,父级选择器才会显示加号(#84645)。
  • 列表视图:允许与顶层项目嵌套(#84856)。
  • 客户端媒体:默认生成动画图像子尺寸,将 HEIC 转换为 JPEG 时保留 EXIF 元数据(#80385、#82040)。
  • 图标:新增星号图标和基于表单的图标(#85442、#84074),常用图标已加入核心管理员收藏集(#85072),图标区块会在图标的“全部”标签页中显示收藏集名称(#84055)。
  • 减少动态效果:当用户偏好减少动态效果时,上传的封面背景视频和前端视频不再自动播放(#83853、#84308)。
  • 性能:合并自所有来源的 theme.json 数据会被缓存,图标库渲染速度更快(#81979、#84327)。

更新日志

功能

  • 区块编辑器:允许跨区块使用富文本格式。(58913)
  • 用户界面:添加包含首字母缩写、彩色备用样式和可选颜色环的头像。(84145、84653、84822、84824)

增强功能

  • React 19:添加新的不兼容插件。(84607)
  • 脚本:针对已配置的 wp-env 测试环境运行端到端测试。(84654)
  • Standardize focus rings with the design system:
    • 组件:复选框和单选按钮、DataViews 列表项、链接、Snackbar、标签页面板,以及 UnitControl 单位选择器。(85379、85358、84697、85168、84914、85444)
    • 编辑器:区块目录中的可下载区块、编辑为 HTML 的文本区域、LinkControl 预览、MediaEdit,以及元数据框面板开关。(85307、85266、84695、84940、85355)

区块库

  • 手风琴标题:添加背景渐变支持。(83938)
  • 评论分页的上一页和下一页:添加边框和内边距支持。(64308、64310)
  • 封面:添加链接和按钮颜色支持。(83972)
  • 封面:添加最小宽度支持。(83975)
  • 文件:添加排版支持。(83969)
  • 图库:通过动画滑动改进移动端灯箱。(79114)
  • 标题:在移动端启用 editableRoot 以支持多选。(84358)
  • 图标:添加背景图片、尺寸和渐变支持。(83948)
  • 图标:添加最小宽度和高度支持。(83971)
  • 图标:添加阴影支持。(83921)
  • 图标:在图标库的“全部”标签页中显示收藏集名称。(84055)
  • 列表:添加最小宽度和高度支持。(83915)
  • 导航链接:仅在需要时检查页面创建权限。(84663)
  • 导航叠加层关闭:添加外边距支持。(83970)
  • 导航叠加层关闭:添加最小宽度和高度支持。(83907)
  • 段落:添加背景图片、尺寸和渐变支持。(83934)
  • 段落:添加最小宽度和高度支持。(83924)
  • 播放列表:添加背景图片、尺寸和渐变支持。(83928)
  • 播放列表:添加最小宽度和高度支持。(83909)
  • 文章导航链接:添加背景图片、尺寸和渐变支持。(83940)
  • 文章导航链接:添加最小宽度和高度支持。(83973)
  • 文章模板:添加最小宽度和高度支持。(83911)
  • 文章标题:添加适应文本支持。(83036)
  • 引用块:添加书写模式和文本缩进支持。(83964)
  • 查询循环:列出分类术语以便浏览,而不是召回。(82583)
  • 引用:添加 writing mode 支持。 (83965)
  • 搜索:添加背景渐变支持。 (83954)
  • 搜索:添加边框样式支持。 (83960)
  • 搜索:添加最小宽度和高度支持。 (83977)
  • 搜索:添加阴影支持。 (83937)
  • 标签列表:添加背景图片、尺寸和渐变支持。 (83953)
  • 标签列表:添加行高、字重、字母间距和文本转换支持。 (83961)
  • 目录:在块上下文中从文章读取标题。 (85040)
  • 表格:添加背景渐变支持。 (83949)
  • 表格:添加链接颜色支持。 (72229)
  • 表格:添加文本对齐支持。 (83966)
  • 词项计数:复用 Term Template 中的词项数据。 (84119)
  • Term Template:添加标题和按钮颜色支持。 (83968)
  • 词项查询:添加内边距、外边距和块间距支持。 (83959)
  • 视频:添加最小宽度和高度支持。 (83974)

组件

  • 按钮:使用 Spinner 作为加载指示器。 (84321)
  • BorderBoxControl:取消链接边框各边时,解析多值简写 width。 (84826)
  • DataViews:格式化页脚计数。 (84622)
  • DataViews:提高批量操作的可发现性。 (82730)
  • DataViews:在表格外渲染表格批量操作。 (85250)
  • DataViews:支持混合库叠加层。 (84305)
  • 对话框:添加可适应内容宽度的自动弹出窗口尺寸。 (84559)
  • 将 SelectControl 使用方迁移至 wordpress/ui。 (83035, 84345, 84546, 84584, 84936)
  • 模态框:为 firstContentElement 添加焦点回退机制。 (84344)
  • 通知:使关闭控件和标题与状态颜色相匹配。 (84571)
  • 弹出窗口:在默认表面层中使用设计系统令牌。 (84574)
  • RangeControl:添加 size 属性。 (69844)
  • SearchableSelect、SelectControl:为属性和内容添加触发器插槽。 (84934, 84828)
  • Select、Combobox、Autocomplete:对齐弹出窗口列表间距。 (84393)
  • Snackbar:让带有操作按钮的 Snackbar 在屏幕上停留更久。 (84842)
  • 标签:对齐交互背景和焦点状态。 (84572)
  • 主题:使用更多令牌数据丰富 design-tokens.js 的导出内容。 (76604)
  • 主题:生成 JavaScript 设计令牌回退值。 (84569)
  • UI:支持在 Breadcrumb 中使用按钮项。 (84156)
  • UI:对弹出窗口项使用纯色品牌高亮。 (84087)
  • UI:为 AlertDialog、Dialog 和 Drawer 使用兼容性叠加层插槽。 (83878, 84379, 84380)

区块编辑器

  • 区块面包屑:使用 wordpress/ui 的 Breadcrumb 组件。 (84295)
  • 区块支持:添加背景裁剪 UI。 (77142)
  • 区块工具栏:仅当没有允许的区块拆分时,才显示父级选择器加号。 (84645)
  • 通过在多选区内的任意位置按下并拖动来移动多选区。 (81602)
  • FontAppearanceControl、FontFamilyControl:迁移至 wordpress/ui。 (84715, 84716)
  • LinkControl、PostURL:使用 wordpress/ui 的 Link。 (84819, 84820)
  • 使用红点标记不换行空格,并添加用于替换它们的按钮。 (84737)
  • Media Inserter: Redesign using a DataViews grid. (82749)
    • 为音频及其他非图片或视频文件添加 FilePreview 组件。 (84882)
    • 切换类别时清除网格并显示加载 Spinner。 (84667)
    • 切换类别时根据窗口高度更改页面大小。 (85053)
  • 移动拖动的文本选区。 (81603)
  • 导航:从侧边栏列表视图中在弹出窗口内编辑链接。 (84005)
  • 导航:在侧边栏中为空的导航菜单显示插入器。 (84003)

文章编辑器

  • 核心数据:将只读分类法字段排除在协作编辑之外。 (84838)
  • 编辑器:稳定基于 DataForm 的检查器。 (85081)
  • Improve save and autosave failure handling:
    • 为保存失败通知添加复制选项和“显示/隐藏详情”按钮。 (82496)
    • 解释无响应的自动保存失败,并显示 HTTP 状态。 (85157)
    • 自动保存失败后,显示距离下次自动保存的倒计时。 (84656)
    • 在后续保存成功后,移除自动保存失败通知。(84649)
    • 显示浏览器备份的日期,并在恢复前进行比较。(84735)
    • 不要在保存失败通知中承诺提供浏览器备份。(84948)

笔记

  • 为笔记添加表情符号回应 ❤ 🎉 😄 👀 🚀。(76767)
  • 改进笔记突出显示及与内容关联的方式。(80578)
  • 将“添加笔记”工具栏按钮改为仅用于添加,并移除头像。(84635)
  • 使用草稿标记标出未发送笔记所涉及的文本。(84125)
  • 移除画布与浮动笔记之间的分隔线。(84850)

图案

  • 将插入器的“我的图案”重命名为“站点图案”,并添加作者筛选器。(84680)
  • 支持用户可读取但无法编辑的同步图案:在插入器中列出这些图案,加载时不显示“编辑原始文件”,并允许将其分离。(84661, 84641, 84681)

全局样式

  • 为文本输入框和 select 元素添加伪选择器支持。(71634, 81644)
  • 字体库:在字体集合中标记已安装的字体变体。(84023)
  • 将元素与区块一起列出。(81645)
  • 在元素屏幕上预览所选状态。(83787)
  • 从区块列表中移除自定义样式圆点。(84657)
  • 样式状态:添加页脚视口和响应式样式状态。(84146)
  • 样式状态:启用特定状态的自定义 CSS。(83539)

可扩展性

  • 操作和字段 API:在服务器上注册核心实体操作和字段。(84650, 84660, 84696, 84700)
  • 区块:让 getBlockSupport 和 hasBlockSupport 接受 feature path 数组。(84708)
  • 将“fields”重命名为“entity fields”。(84691)

媒体

  • 客户端媒体:将 wasm-vips 升级到 0.0.19,并提高内存预算。(84980)
  • 默认生成动画图片子尺寸。(80385)
  • 媒体编辑器:为会话添加编辑记录切片,并一次性重置整个会话。(83899, 84591)

图标

  • 添加星号图标和基于表单的图标。(85442, 84074)
  • 试验按比例缩放描边。(84081)
  • 镜像标签图标,使其与其他倾斜图标相匹配。(84675)
  • 将常用图标加入 core-admin 集合。(85072)

错误修复

  • DOM:修复 getOffsetParent 在父级不是元素时的无限循环问题。(84374)
  • 实验:不要使用旧版键使已保存的选项失效。(84619)
  • 图标:恢复 postComments 图标中缺失的对话气泡。(85275)

组件

  • BorderControl:移除双重焦点轮廓。(85173)
  • CustomGradientPicker:编辑渐变时保留颜色插值方法。(84383)
  • DataForm:将文本控件的前缀和后缀居中。(84314)
  • DataViews:修复显示页面类型徽章时,页面标题行在悬停时发生跳动的问题。(84368)
  • DropdownMenu:按下 ArrowDown 时,保持禁用的切换按钮处于关闭状态。(84556)
  • DropdownMenu:使初始焦点与打开交互方式相匹配。(85486)
  • Grid:修复 bottomLeft 对齐方式映射到底部左侧角的问题。(82641)
  • InputControl:在触控设备上忽略拖动手势。(81519)
  • Link:使新标签页指示器与链接文本一同保留。(84806)
  • SearchableChipSelect:按下 Escape 时保留已选标签页。(84172)
  • SearchableSelectControl:修复搜索图标方向。(84690)
  • Select:项目对齐方式回退时保留滚动位置。(84682)
  • SelectControl:修复默认选项显示 Select 占位符的问题。(85172)
  • Snackbar:在 SnackbarList 外部使用时恢复焦点。(84342)
  • Tabs:扩展垂直交互背景和焦点环。(84821)
  • Tabs:为水平标签页列表恢复适应内容宽度。(84626)
  • UI:在其 iframe 内按下时保持弹出窗口打开。(83870)
  • UI:保留显式为 null 的门户容器。(84370)
  • UI:在禁用的菜单项上显示键盘焦点。(85488)
  • UI:同步弹出窗口的悬停目标和键盘目标。(85487)
  • UnitControl:静态单元标签使用中性颜色。(85456)

文章编辑器

  • 自定义小工具:使用 wordpress/ui 叠加层时保持区块选中状态。(84628)
  • 编辑器:修复作者姓名过长导致溢出文章侧边栏面板的问题。(84165)
  • 编辑器:防止预览画布继承实体的选中状态。(84832)
  • 编辑器:在手机上未选中任何区块时,保持区块工具栏行可见。(84461)
  • 编辑器:将区块转换为模板部件时验证父容器。(84155)
  • 确保“隐藏区块工具”文字宽度不超过按钮背景。(85051)
  • 字段:对于无发布权限的用户,锁定状态和别名字段。(84371)
  • 文章分类法:恢复用于创建术语的快捷方式。(84601)
  • 文章别名:从当前标题而非 generated_slug 推导别名预览。(84893)
  • PostURL:移除双重焦点环轮廓。(84694)
  • 修订版本:恢复修订版本之前,将未保存的更改保存为修订版本。(84590)
  • 样式手册:修复 Heading 区块未注册时崩溃的问题。(84359)
  • 模板字段:显示默认模板,而不是“选择”占位符。(85167)
  • URL:让 cleanForSlug 与 WordPress Core 的 sanitize_title() 保持一致。(84896)

笔记

  • 新笔记表单定位后,将焦点置于该表单。(84639)
  • 头像加载失败时保持圆形。(85807)
  • 从富文本记录而非其 HTML 读取笔记标记。(84310)
  • 选中插入符号下方的笔记。(84147)
  • 当 Core 已经预取时,跳过反应摘要预取。(85047)

区块库

  • 手风琴标题:将行内笔记锚定到选中的标题文本。(84497)
  • 封面:在解析查询字符串之前解码 oEmbed iframe 源。(83770)
  • 自定义 HTML:区块未渲染任何内容时显示浮动标记。(84150)
  • 图库:允许列数覆盖旧版响应式样式。(84360)
  • 图标:修复区块管理器中的显示问题。(84107)
  • 图片:测量灯箱容器,而非图片的父元素。(82312)
  • 布局:在 .alignleft 和 .alignright 上将物理外边距与物理浮动方向配对。(83520)
  • 登录/退出:将区块标记为内容。(84849)
  • 媒体与文本:在使用 CSS 重置的经典主题中恢复内容内边距。(85200)
  • 导航链接:应用链接浮出层中的“在新标签页中打开”。(83506)
  • 导航:修复在列表视图中通过“浏览全部”插入区块时出现的错误。(84665)
  • 导航:不让自定义 CSS(包括来自全局样式的 CSS)应用于内部列表容器。(84881, 85366)
  • 导航:保持插入叠加层中的区块采用弹性布局。(82232)
  • 导航:链接搜索中仅列出侧边栏支持的区块。(85122)
  • 图案:加载视图记录,仅在其加载后加载编辑记录。(84799)
  • 搜索:字段折叠时,不要裁剪按钮的焦点轮廓。(84685)

区块编辑器

  • 启用文字标签时,允许区块工具栏换行。(84802)
  • 区块样式:将变体标签限制为两行,并通过工具提示显示完整标签。(85721)
  • 区块工具栏:修复需要点击两次才能打开的界面菜单。(84547)
  • 区块工具栏:不要让最后一个项目填满占位工具栏。(84554)
  • 将多行粘贴内容保留在空的预格式化和诗歌区块内。(83552)
  • 列表视图:允许与顶层项目进行嵌套。(84856)
  • 列表视图:在 contentOnly 锁定区域中显示追加按钮。(84713)
  • 在同一区块内按住 Shift 键点击时,保留富文本选区。(84579)
  • 富文本:在输入和粘贴时,根据插入符号位置确定活动格式。(84303)
  • 富文本:在 getTextContent 中移除所有对象替换字符。(81526)

全局样式

  • 为元素按钮和区块按钮添加图标并微调样式。(85363)
  • 自定义 CSS:为父区块呈现的区块生成样式。(82590)
  • 自定义 CSS:在前端为区块样式变体使用正确的选择器。(84530)
  • 修复“元素”工具面板标题层级不一致的问题。(85247)
  • 字体库:加载所有已安装的字体系列。(84684)

媒体

  • 在客户端将 HEIC 转换为 JPEG 时保留 EXIF 元数据。(82040)
  • 启用附件页面时,在保存时跳过自动关联。(84851)
  • 对于已发布的文章,仅自动关联新添加的图片。(84890)

交互性 API

  • 将指令名称验证与 WordPress 核心保持一致。(81023)
  • 修复延迟的 data-wp-html 值、抛出函数以及指令冲突问题。(84652)
  • 为服务器的令牌表示保留服务器呈现的 data-wp-html 内容。(84889)

无障碍

  • 区块工具栏:当默认区块未注册时,为手机占位符按钮提供名称和图标。(84533)
  • ColorPicker:改善输入框的无障碍性和可发现性。(70214)
  • 封面:用户偏好减少动态效果时,不要自动播放上传的背景视频。(83853)
  • 模态框:标题隐藏时,保留无障碍名称。(82645)
  • navigateRegions:仅为获得焦点时 outlining 的发布和保存区域添加轮廓。(84343)
  • 注释:从“添加注释”菜单项中移除具有误导性的 aria-haspopup。(84818)
  • PaletteEdit:为选择器对话框命名,并添加屏幕阅读器关闭功能。(84333)
  • 修订:在不使用不透明度滤镜的情况下,使内联删除差异符合 AA 对比度要求。(82258)
  • ToolsPanel:在无障碍操作标签中将设置名称置于首位。(84341)
  • 视频:用户偏好减少动态效果时,不要在前端自动播放。(84308)

性能

  • 缓存从所有来源合并的 theme.json 数据。(81979)
  • 连接器:在连接器屏幕上预加载 REST API 响应。(77353)
  • 图标:加快图标库的呈现速度。(84327)
  • 图标:跳过对核心图标的清理。(85083)
  • 交互性 API:优化 toVdom 遍历。(81699)
  • 站点编辑器:预加载屏幕的实体操作。(85155)

文档

  • 徽章:明确说明徽章不应具有交互性。(84920)
  • BaseControl:更新属性文档。(70064)
  • 面包屑:修复使用指南侧边栏结构。(84564)
  • 组件:迁移到 Emotion 后更新指南。(85020, 85023)
  • 框架:改进 AGENTS.md 中关于运行包脚本的指南。(84195)
  • 菜单:明确说明图标、标签和描述的使用指南。(84020)
  • 说明对自动播放媒体进行减少动态效果处理。(84594)
  • Storybook:为所有令牌添加更多可视化页面。(84373)
  • Storybook:通过按字母顺序排列未列出的文件夹,使文档始终位于首位。(84563)
  • Storybook:将动态令牌呈现为 MDX 文档页面。(85080)
  • 标签页:修复 Storybook 中已填充链接的图标。(84618)
  • UI:添加缺失的弹出窗口宽度故事。(84320)

代码质量

  • 自定义 CSS:应用来自核心审查的更改。(84757)
  • Duotone:从核心同步不支持的属性类型保护。(84801)
  • 全局样式:忽略类型异常的 theme.json 值和预设项,以避免致命错误。(84523, 84529, 84534)
  • 移除 wordpress/lazy-import 包。(84318)
  • 移除未使用的内部辅助函数、组件和依赖项。(84575, 85091, 85092, 85093, 85094, 85098)
  • 测试:在 PHPUnit 测试中使用严格断言。(84510, 84513, 84514, 84515, 84683, 84686, 84883, 84884, 84885, 84886, 84887, 84888)
  • 在单例 getter 中使用空值合并赋值运算符。(85174)
  • TypeScript:
    • 区块编辑器:将 store、hooks、共享组件、工具函数、InspectorControls、LinkControl、URLInput、排版控件和 useBlockDropZone 转换为 TypeScript。(84615, 84616, 84625, 84629, 84655, 84677, 84720, 84725, 84730, 84844, 84848, 84946)
    • 富文本:转换为 TypeScript。(84324, 84365, 84378, 84610)
    • 命令、Compose、组件、DOM、首选项持久化、原语、工作流:转换为 TypeScript。(84315, 84377, 84382, 84611, 84317, 84312, 84375, 84309, 84311, 84361)
    • 将数据控件、DataViews、日期、格式库、Kebab Case、专用 API、撤销管理器、上传媒体、URL 和警告中的测试转换为 TypeScript。(84852, 84836, 84830, 85032, 84825, 84901, 84895, 84930, 84916, 85085)
    • 区块:为背景裁剪、渐变、位置和重复支持添加类型。(84709)
    • React 19 类型:迁移 away from MutableRefObject。(84550)
    • 从已完全转换的包中移除多余的 checkJs: false。(84366)

组件

  • 将 Emotion 样式迁移至 SCSS Modules:ColorPicker、CustomSelectControl、DatePicker、DateTimePicker、FocalPointPicker、InputControl、Menu、Navigator、NumberControl、PaletteEdit、RangeControl、SelectControl、Tabs、TimePicker 和 UnitControl。(84128, 84131, 84724, 84129, 84736, 84728, 84706, 84565, 84330, 84130, 84562, 84732, 84332, 84331, 84561)
  • 移除 Emotion:上下文系统、StyleProvider 缓存、样式工具、测试和 story 固定数据、依赖项及编译器工具。(84925, 85019, 84929, 84926, 85022, 85021, 85038, 84707)
  • 操作 API:移除不受支持的单一操作上下文。(85186)
  • 对话框:根据弹出窗口属性类型检查 story 和测试尺寸。(84705)
  • 渐变解析器:改用官方 gradient-parser 类型。(84582)
  • 简化 RangeControl、Tabs 和 BorderBoxControl 样式。(85086)
  • 文本:简化内部高亮器。(85101)
  • 主题:在令牌解析器中整合边框模式覆盖项。(84108)
  • 提示:将插入器用法迁移至 Notice,并弃用该组件。(84197)
  • UI:整合共享的 iframe 关闭测试。(84296)

区块编辑器

  • 区块支持:与 theme.json 共享状态文本裁剪辅助函数。(85057)
  • 在 useSetting 弃用警告中加入迁移提示。(85100)
  • 富文本:从事件监听器上下文中移除 refs。(84545)
  • 排序:依赖稳定的标准排序并使用 toSorted。(52213)

区块库

  • 无障碍:将 prefersReducedMotion 移至区块库的共享工具函数中。(84297)
  • 区块:明确按钮背景注释和模板部件错误字符串。(85176)
  • 媒体与文本:用 overflow-wrap: anywhere 替换已弃用的 word-break。(82580)
  • 移除对不支持的无前缀样式状态的兼容函数。(84531)
  • 重命名检查器和工具栏样式状态插槽以保持一致性。(84598)

可扩展性

  • 操作 API:将核心操作提取至 wordpress/core-actions 脚本模块,并移除已移至 wordpress/core-fields 的字段。(84643, 84897)
  • 核心操作、核心字段:使用默认文本域翻译标签。(85139)
  • 字段 API:像图标 API 一样接管 Core 的注册表单例。(84168)

工具

  • Props Bot:将运行任务排队,而不是取消被取代的任务。(84176)

测试

  • 添加 iOS 端到端测试工具,并测试跨两个段落选择文本。(84463, 84585, 84640, 84741, 84859)
  • 为自动保存失败通知添加端到端测试。(84644)
  • 自动化测试:添加有关 lint 抑制的 AI 审查指导。(84638)
  • 自动化测试:修复 Storybook 清单错误,并在 CI 中进行验证。(84198)
  • 变更日志验证:拒绝未发布条目之间的空行。(84804)
  • DuotonePicker:添加组件测试。(69264)
  • Entity Actions:修复针对 Core trunk 的分类法冲突测试。(85146)
  • 不稳定的端到端测试:在受限画布测试中打开设置边栏。(84606)
  • Icons:为 WP_REST_Icon_Collections_Controller 添加单元测试覆盖。(83168)
  • React 19 codemod:渲染 memo 组件时应用 defaultProps。(84568)
  • Tests:修复 HTML 比较测试。(84294)
  • Tests:修复较旧 WordPress 版本上的列表项不安全标记测试。(84302)
  • Tests:限定 Classic 块媒体复选框定位器的作用范围。(84524)
  • 将 JSDOM 升级至 30.1.2。(84367)

构建工具

  • babel-preset-default:将 polyfill 列表添加到生成的 bundle 中。(84835)
  • Build:修复 npm run dev 因 patterns tsconfig 注释而失败的问题。(84898)
  • Build:在注册脚本和样式时,使用 defined() 保护 SCRIPT_DEBUG。(83633)
  • Build:避免在 worker 源映射中保留绝对路径。(84163)
  • Build:将 pr-baseline-action 更新至 v0.3.0。(84692)
  • CI:每 4 小时运行一次所需的 trunk changes 定时任务。(84301)
  • CI:为大型构件设置明确的保留期限。(84525)
  • Cherry-pick 脚本:添加可选的 dry-run 参数。(78878)
  • Packages:停止发布 tsconfig 文件、TypeScript 构建信息、测试以及 README.md 以外的 Markdown 文件。(84164, 84307)
  • PR 元数据:添加 Playground 预览链接。(84687)
  • PR 元数据:逐字记录回退正文,并在运行链接中保留查询字符串。(85119)
  • PR 元数据:编写关于堆叠式拉取请求的章节。(84703)
  • 项目管理自动化:转换为 TypeScript,并作为内部操作迁移至 tools。(71193, 85087)
  • 将最低要求的 Node.js 版本提升至 22,并支持 CJS/ESM 互操作。(84313)
  • 发布工具:使用各自的 npm 配置发布 wp/X.Y 分支。(84160)
  • 移除一些过时的覆盖项。(84674)
  • 将 Ariakit 更新至 0.4.42、Base UI 更新至 1.9.0、Terrazzo token 工具更新至 2.9.0、Testing Library user-event 更新至 14.6.8,并将 Vite 更新至 8.3.4。(84539, 85066, 84542, 85067, 85068, 84544)
  • WP Build:支持将 SVG 文件作为内联 data URI 导入。(85147)
  • Zed:从文件扫描中排除 node_modules,并关闭 Tailwind CSS。(84604)

代码检查

  • ESLint:使 UI 警示组件与 Storybook 状态保持一致。(84319)
  • ESLint:允许在组件 JavaScript 中使用设计令牌。(84827)
  • ESLint:将 jsdoc/escape-inline-tags 设为错误。(84701)
  • ESLint:移除未使用的 comments-plugin 依赖。(85102)
  • ESLint:新文件必须使用 TypeScript。(84829)
  • ESLint:旧版 Spinner 导入必须使用 WCSpinner 别名。(84390)
  • JSDoc:转义注释中的 WordPress 包名称。(84369)
  • Stylelint:合并简化相关的 lint 规则。(71235)

环境

  • 将 simple-git 更新至 v4。(84137)
  • 预发布 PHPUnit 测试使用匹配的 wordpress-develop 分支。(84758)

首次贡献者

以下 PR 由首次贡献者合并:

  • @00kaku:搜索:字段折叠时,不要裁剪按钮焦点轮廓。(84685)
  • @anamwp:修订:在不使用不透明度滤镜的情况下,使内联删除差异达到 AA 对比度要求。(82258)
  • @ariel-maidana:媒体与文本:在使用 CSS reset 的经典主题中恢复内容内边距。(85200)
  • @awss1i:DropdownMenu:按下 ArrowDown 时,保持禁用的切换按钮处于关闭状态。(84556)
  • @bitworks-io:环境:将 simple-git 更新至 v4。(84137)
  • @poligilad-auto:图标:镜像标签图标,使其与其他倾斜图标一致。(84675)
  • @preetpatel713:编辑器:修复作者名称过长而溢出文章边栏面板的问题。(84165)
  • @rajpreetcodes:区块编辑器:在同一区块内按住 Shift 并点击时,保留富文本选区。(84579)
  • @salvatorecorsi:手风琴标题:将锚点内联注释关联到选定的标题文本。(84497)
  • @yotatameguchi-boop:双色调:从 Core 同步不支持的属性类型检查。(84801)

贡献者

以下贡献者在此版本中合并了 PR:

@00kaku @aaronrobertshaw @adamsilverstein @aduth @amitraj2203 @anamwp @andrewserong @annezazu @ariel-maidana @awss1i @bhaskargurram-ai @bitworks-io @ciampo @CookieDarb @DAreRodz @desrosj @dhruvikpatel18 @dinhtungdu @ellatrix @fabiankaegy @faisalahammad @fushar @gigitux @himanshupathak95 @im3dabasia @jameskoster @jasmussen @jeryj @jorgefilipecosta @joshualip-plaudit @jsnajdr @Kgupta62 @kraftbj @lancewillett @luisherranz @MaggieCabrera @Mamaduka @manzoorwanijk @Mayank-Tripathi32 @mirka @nb @nickchomey @noruzzamans @ntsekouras @oandregal @obenland @poligilad-auto @prasadkarmalkar @preetpatel713 @R1shabh-Gupta @rajpreetcodes @ramonjd @SainathPoojary @salvatorecorsi @sanketio @scruffian @sgomes @shail-mehta @shimotmk @simison @sirreal @Soean @t-hamano @talldan @tellthemachines @vedant-ere @westonruter @yashjawale @yotatameguchi-boop @youknowriad

向所有帮助完成此次发布的贡献者致以敬意! 👏

#区块编辑器、#核心编辑器、#Gutenberg、#新版 Gutenberg

来源:Make WordPress Core(核心开发) · https://make.wordpress.org/core/2026/11/02/whats-new-in-gutenberg-24-3-28-october/

部分链接为推广/关联链接。