即将发布的 WordPress 6.7 将全面集成 Gutenberg 19.0,为网站编辑和设计带来多项全新功能和优化。本文将详细介绍这些新功能,包括增强的页面编辑体验、改进的用户界面,以及更灵活的数据视图管理,帮助用户更高效地创建和维护网站。
Gutenberg 19.0 新特性
在 Gutenberg 19.0 版本中,有两个重要功能在实验标志下被添加,允许用户根据需要选择参与测试并提供反馈。这些功能可以通过前往 Gutenberg > Experiments 来启用。第一个功能允许你将区块连接到自定义字段,这一直是许多用户期待的功能。第二个功能允许在新的站点编辑器 > 页面界面中进行快速编辑,该界面使用数据视图构建。我们非常欢迎并需要大家对这两个功能的反馈。
除了这些实验性功能外,本次更新还包括多个显著的增强功能,比如更加直观的用户界面用于配置视图(如页面、模板、模式等),并且现在可以选择在其中显示或隐藏过滤器。最后,还新增了手动进入缩小视图的选项,以及设备预览选项,多个书写流程的优化也已完成。
用户界面:连接区块与自定义字段
Gutenberg 19.0 提供了首个将区块与自定义字段连接的用户界面原型,它已在 Gutenberg 插件中以实验标志形式合并。
要体验这个功能,可以在 “Gutenberg -> Experiments” 中启用 “UI to create block bindings” 实验。
快速编辑功能现已在新的页面列表中可用
Gutenberg 19.0 作为实验版本首次引入了数据视图的快速编辑功能。它允许用户无需离开页面界面即可编辑某些字段,并且支持批量编辑。
在数据视图中显示或隐藏过滤器
Gutenberg 19.0 增加了在用户界面中隐藏/显示过滤器的功能。这简化了数据视图的界面,复杂的过滤器(包括某些视图的默认过滤器)将不再占用界面空间。同时,功能的一致性和易用性得到了保持,因为当需要时,仍可以通过点击过滤按钮添加过滤器。
更新日志
增强功能
- 添加编辑字段到格式库的内联图像。
- 将编辑器多个位置的文案从 “No Title” 更新为 “No title”。
- 将列输入的默认大小更新为 40px。
区块库
- 为列表项添加锚点区块支持。
- 当手动布局中的网格内的区块被删除时,取消设置 rowStart 和 columnStart 属性。
- 更新组区块示例。
- 在站点标志区块工具栏中使 SiteLogoReplaceFlow 始终可用。
- 使用 ToggleGroup 和简化的帮助文本使查询循环设置更直观。
- 将图库链接控制移动到区块工具栏。
- 在选择覆盖菜单时隐藏加载。
- 将站点标志提示移至右中部。
- 防止标签云区块出现重复间距。
- 修复 “用户是否可编辑” 模板部分检查。
- 在帖子内容中添加 clearfix。
- 调整标签云控制和描述。
- 调整列表区块。
- 将站点标志的 MediaUpload 按钮从 “添加媒体” 更新为 “选择标志”。
- 更新查询循环中粘性控制的帮助文本。
- 添加以下区块的边框支持:阅读时间、类别列表、发布日期、帖子摘要、帖子条款、帖子标题、站点标语、站点标题、目录。
扩展性
- 添加异步 __unstablePreSavePost 钩子;返回 false 时阻止保存。
- 启用标题级别选择。
- 在帖子标题、查询标题、站点标语、站点标题和评论标题中控制可用标题级别的 levelOptions 属性。
数据视图
- 更清晰地表达 “隐藏” 操作。
- 将数据视图选项从菜单中分离出来,以允许更多的设计表达。
- 将过滤器用户界面移动到可切换的面板中,以改善窄视图/容器上的体验。
- 更新网格/列表布局中的字段行高。
- 更新表布局中的模板描述。
- 在网格布局中减少批量操作的突出显示。
- 更新数据视图操作中的部分文案。
数据视图扩展性
- 允许注销以下帖子操作:永久删除、恢复帖子和移至垃圾箱。
数据表单
- 在快速编辑页面/帖子列表中添加作者字段。
- 如果字段类型为文本,则在编辑中将其渲染为 SelectControl。
- 迁移顺序操作模态并引入表单验证。
组件
- 添加半径比例。
- 在 CustomSelectControl 上支持通用属性类型。
- 指南:为按钮添加 __next40pxDefaultSize。
- 图像:当有内容时使占位符为白色。
- SelectControl:从选项中推断值类型。
- SelectControl:传递选项属性。
- TimeInput:作为 TimePicker 的子组件公开。
- 更新组件配置中的半径变量。
- RadioControl:添加对选项帮助文本的支持。
区块编辑器
- 区块自动完成器:当项目被选中时,将图标颜色强制为文本颜色。
- 不要在大屏幕上让插入面板与画布重叠。
- 格式库:优化内联图像格式弹出窗口。
- LineHeightControl:强制弃用底部边距。
- 新的 useBlockElementRef 钩子,用于将区块元素存储到引用中。
- 改进的标签侧边栏样式。
- URLInput:强制弃用底部边距。
全局样式
- 添加字体排印类型集部分。
- 为标题级别选择器添加工具提示。
- 背景图像:确保适当的默认值。
- 创建新公共函数,以便更容易地从其他主题中公开样式变体。
- 样式书:明确标注标题级别。
设计工具
- 列:启用边框半径支持。
- 评论模板:添加边框区块支持。
- 帖子评论表单:添加边框区块支持。
缩放
- 添加控制以进入和离开缩小模式。
- 改进缩放过渡。
站点编辑器
- 通过动画澄清站点图标是一个返回按钮。
- 站点图标:添加回滤镜效果,以适应所有类型的站点图标。
帖子编辑器
- 调整创建自定义模板模态。
图标
- 添加新的 “发送” 图标。
插件
- 将最低 WordPress 版本要求提升到 6.5。
字体库
- 包含 Google 字体的 “全选” 选项。
区块绑定
- 允许注册后引导绑定。
交互性 API
- 重构内部代理和信号系统。
新 API
- 将 useStyleOverride 设为公开。
错误修复
- 核心数据:修复 ‘getEntityRecordPermissions’ 缓存。
- 文档栏:修复长标题无空格导致的布局问题。
- 修复密度滑块减号显示错误。
- 修复:删除模式时抛出未定义的删除通知。
- 原语:添加缺少的对等依赖项。
- 站点图标:修复在无干扰模式下的位置问题。
数据视图
- 为垃圾箱字符串添加上下文。
- 在模板网格布局中有条件地显示描述字段。
- 考虑布局 URL 参数加载默认/自定义视图。
- 为具有已发布状态的页面/帖子显示发布日期。
- 按姓名排序作者,并允许自定义排序功能。
- 当没有合格项目时,不要渲染操作模态。
- 页面:更新 useView 逻辑。
- 更新表布局中的模板预览尺寸。
数据表单
- 修复 SelectControl 大小和间距。
- 当字段具有元素时提供更好的默认渲染。
组件
- 自动完成器 UI:修复悬停选择项时的文本颜色。
- BaseControl:更改标签的 display 属性为 block。
- 按钮:修复三级破坏性悬停样式。
- ColorPalette:在不需要 CircularOptionPicker 时移除额外的底部边距。
- DropdownMenuV2:将菜单项帮助文本分成多行以更好地截断。
- 修复开发模式下的模态关闭功能。
- 修复切换帮助文本缩进。
- 更新 TextControl 的填充以匹配其他控件。
全局样式
- 修复区块自定义 CSS 伪元素选择器。
- 修复区块库和全局样式样式表排序问题。
- 样式书:修复未注册标题区块时的严重错误。
- TypesetButton:在执行逻辑前检查是否存在变体。
站点编辑器
- 在聚焦编辑模式中居中对齐实体。
- 不要触发多选帖子的模板 ID 解析。
- 长段落标题打破摘要面板 UI。
缩放
- 如果进入缩小模式,则保持顶级区块选择。
- 使用区块编辑器插入点数据。
区块库
- 修复
use-image-sizes.js
中的拼写错误。 - 修复内嵌块的能力检查问题。
- 更新
useTaxonomies
钩子,以检查传递的文章类型的分类法。
设计工具
- 引用:防止区块主题样式覆盖全局边框和内边距。
- 间距控件:使用
CustomSelectControlV2
处理大于或等于8的间距尺寸。
文章编辑器
- 避免没有
menu_icon
的文章类型产生错误。 - 文章:为文章密码保护字段添加最大长度。
网格布局
- 修复网格调整器在嵌入时的拖动问题。
- 移动调整器弹出框插槽,以修复在移动设备上的显示问题。
区块编辑器
- 修复意外的拖放行/画廊创建逻辑。
图标
- 移除
sidesAxial
和sidesBottom
图标中的硬编码颜色。
文档设置
- 当文章作者缺失时,显示空选项。
模式
- 启用跨浏览器支持模式上传。
命令
- 修复在
StrictMode
下的“偏好设置”和“快捷键”命令。
元框
- 防止弹出框被元框隐藏。
页面内容聚焦
TemplateContentPanel
:不显示位于查询循环中的内容块。
字体库
- 修复侧边栏中字体系列项目的高度。
区块 API
- 区块分类——确保分类通过别名是唯一的。
无障碍访问
- 恢复数据视图网格视图中的焦点样式。
- 为站点编辑器添加无障碍文本。
- 修复设备预览选项的无障碍问题。
组件
- 改善按钮的
aria-disabled
焦点样式。 - 恢复
CustomSelectControl
中的describedBy
功能。
区块库
- 修复未标记的 Spacer 块控件。
- 将每页帖子、偏移和页面控件从区块工具栏移至检查器控件。
字体库
- 移除通知上下文,并在字体更新时添加消息。
性能
- 为交互性 API 添加用户时间记录。
数据视图
- 通过提取字段定义优化模式数据视图。
布局
- 除非模式特定更改,否则避免迭代自动网格内块。
区块绑定
- 将逻辑移动到合并
usesContext
的 reducer 之外。
实验
- 添加实验区块标志。
数据表单
- 支持多种布局,并引入面板布局。
数据视图扩展性
- 添加钩子,允许第三方脚本注册/取消注册文章类型操作。
网格交互
- 修复区块移动器的布局和样式。
区块绑定
- 用于连接绑定的用户界面。
文档
- 修复
.wp-env.json
架构并添加单元测试。 - 在文档中添加 WP Studio 到工具列表。
- 为
core-data
存储中一些动态生成的选择器添加文档。 - 区块编辑器:更新
getBlocksByName
JSDoc。 - 组件:添加缺失的
__nextHasNoMarginBottom
文档。 - 修正内联文档中的
@deprecated
文档顺序。 - 为区块过滤器添加
render_block
和register_block_type_args
的文档。 - 修复交互 API 文档链接。
- 修复交互 API 示例区块的无效链接。
- 修复 WampServer 链接。
FormToggle
、ToggleControl
:修复 Storybook 中的文档生成问题。- 为 PluginSidebar 插槽提供更好的示例。
- 更新
data-core.md
以使用正确的标题。
代码质量
- 添加
margin-bottom
检查规则。 - 添加新的
useEntityRecordsWithPermissions
钩子。 - 修复弃用的 Sass 用法。
- 移除不必要的包装组件。
- 主题 JSON:更新核心主题 JSON 解析类的使用以符合 Gutenberg 版本。
- 缩小:在循环外获取存储操作。
- 从设备菜单选择中移除
Speak
。
区块编辑器
- 区块可拖动:从按钮中移除无效的
aria-hidden
属性。 - 字体家族控制:弃用底部边距。
- 在
setEditorMode
操作中移除不必要/不正确的解锁调用。
数据视图
- 规范化文本字段类型定义。
- 使用具有权限的项目并避免注册操作的钩子。
数据表单
- 将编辑逻辑集中在字段类型定义中。
- 将验证逻辑移动到字段类型定义中。
全局样式
- 背景图片:移除工具面板占位符组件。
- 整合
theme.json
引用和 URI 解析。
插件
- 移除 WP 6.4 和 6.5 的兼容层。
- 移除剩余的
WP_Rest_Customizer_Nonces
控制器。
站点编辑器
- 使用
structuredClone
进行深度克隆。
区块库
- 添加
stylelint
规则以防止使用flex-direction
的反向值。 - 图片区块灯箱:修复调整大小时的警告错误。
图标
- 修复
homeButton
图标的无效属性。
文章编辑器
- 移除文章操作的解决方案 hack。
组件
- 升级 Ariakit。
页面内容聚焦
- 修复
getBlocksByName
选择器调用。
工具
- 测试组件:清理不稳定的单元测试
sleep()
hack。 - 修复数据视图列表布局端到端测试的稳定性问题。
- 修复“验证核心回溯变更日志”作业标题中的拼写错误。
- 改进视觉回归测试中的按钮矩阵。
- 通过更准确的差异打印 CSS 来改进
theme.json
测试失败消息。