社区新闻

开发者新动态(2023年9月)

目前,WordPress 6.4 开发周期正在顺利进行。随着 Beta 1 版本将于 2023 年 9 月 26 日发布,新功能协作、错误修复和其他更改的步伐正在加快。

WordPress 6.4 计划于 2023 年 11 月 7 日发布,并由一个代表性不足的性别发布小组领导。查看6.4 路线图以获取所有详细信息。

WordPress 6.3.1 已于 2023 年 8 月 29 日发布。这是一个维护版本,修复了若干错误。如果您尚未更新,现在是时候了!

过去一个月,WordPress 主干代码和 Gutenberg 插件中发生了许多变化。在尝试以下任何新功能或更改之前,请确保您正在运行每个的最新版本以避免错误。

重点内容

区块钩子(自动插入的区块)

评论模板区块侧边栏检查器控件。它有一个“插件”部分,带有一个“WP 点赞按钮”切换开关。

在 16.4 版本中,Gutenberg 插件添加了一个实验性 API,供插件自动插入区块。此功能现已初具雏形,并获得了 UI 方面的改进。计划在 WordPress 6.4 中将其纳入核心,但它需要您的测试和反馈。

Gutenberg 16.6 添加了一个新的文章设置面板(当前标记为插件),允许用户打开或关闭插入功能。基于此 UI 更新,另一个拉取请求在切换开关旁边添加了区块图标

此功能最初称为“自动插入的区块”,但经过讨论后更名

区块设计工具和支持更新

WordPress 文章编辑器,包含演示文本和脚注部分。

贡献者继续为区块库中的现有区块扩展设计工具支持。最新的区块及其支持的选项包括:

一些区块还获得了一些值得注意的设置:

标准化的管理通知

WordPress 仪表盘屏幕,顶部显示一条管理通知。

WordPress 主干代码添加了一个专用的添加管理通知的函数wp_admin_notice()。🥳

该函数标准化了主题和插件注册自定义管理通知的方式。它支持所有常见的通知类型:错误、成功、警告和信息。它还负责输出可关闭的“x”按钮,但您仍需自行实现功能来持久存储用户是否已关闭通知。

插件和工具

Node.js 和 npm 最低版本要求

WordPress 和 Gutenberg 现在都需要 Node.js 16.x 和 npm 8.x 才能参与贡献。这不一定影响您的自定义插件,因为它专门针对核心代码库,但遵循核心项目使用的版本通常是一个好习惯。在 Make Core 博客上了解更多关于此更改的信息

命令面板 API 更新

命令面板 API 随 WordPress 6.3 推出,贡献者已经在界面上添加了一些不错的改进,例如改进了在较小视口上的渲染。但对于扩展者,您现在可以注册不带图标的自定义命令

新的公共 API

useBlockEditingMode() 钩子现已公开,这意味着您可以在自定义区块中开始使用它。此更改还使 getBlockEditingMode 选择器以及 setBlockEditingModeunsetBlockEditingMode 操作变为公开。

HTML API 添加 <button> 支持

上个月,一个最小化的 HTML 处理器作为创建完整 HTML API 更大努力的一部分,进入了 WordPress 主干代码。它支持 HTML 元素的子集。该项目的最新工作添加了<button> 元素的支持

block_has_support() 和基于字符串的功能检查性能提升

block_has_support() 函数现在允许您为其 $feature 参数使用字符串。以前只允许数组,但由于大多数检查是针对单个功能,因此也允许字符串是有意义的。此外,使用字符串检查时性能略有提升。

现代化的 wp-embed 脚本更新

wp-embed 脚本现已放弃对过时浏览器的支持,特别是 IE10/11。WordPress 已不再正式支持这些浏览器,因此这应该没有影响。变更集还包括其他一些更新,以现代化 wp-embed 脚本代码,在极少数情况下,如果您有扩展它的自定义脚本,值得一看。

第三方编辑器改进

如果您正在构建自定义区块编辑器,Gutenberg 插件中刚刚落地的一些更改应该会使开发更容易一些:

交互性 API 更新

8 月份,官方发布了关于交互性 API 的状态更新。该文章概述了 API 的当前状态、路线图、学习资源等。它被纳入 WordPress 核心的时间很可能是 6.5 或更高版本,具体取决于工作进展。

与此同时,Gutenberg 插件中落地了几项更新,可供您测试:

用于提升性能的新 Options API 函数

WordPress 主干代码中添加了用于预加载选项设置自动加载值的函数:

  • prime_options() 如果尚未加载和缓存,则通过单个数据库请求加载多个特定选项。
  • prime_options_by_group() 是一个包装函数,用于预加载特定选项组的所有选项。
  • wp_set_option_autoload() 设置单个选项的自动加载值。
  • wp_set_options_autoload() 将多个选项设置为相同的自动加载值。

可用文章 MIME 类型钩子

WordPress 主干代码中添加了一个新的get_available_post_mime_types 钩子。其主要目标是让开发人员对其进行过滤以提高性能,尤其是在拥有大量文章的站点上。您添加的任何过滤器都可以完全跳过数据库查询或缓存结果。

请注意,在 WordPress 6.4 发布之前,此函数可能会重命名为 pre_get_available_post_mime_types。查看Trac 工单以关注讨论。

WordPressCS 3.0.0 发布

WordPress 编码标准包 3.0.0 版本已发布,它应该是一个更准确、性能更好、更稳定的工具。该包现在要求您使用 Composer 安装,因此如果您之前没有使用 Composer,可能需要更新您的工作流程。

主题

为流体排版配置最小和最大视口宽度

您现在可以为 theme.json 流体排版功能配置最小和最大视口宽度。这两个新属性充当流体字体大小的边界。最小和最大之间的任何视口大小都是流体的,但在边界之外,字体大小是静态的。

theme.json 中的布局 UI 控制

您现在可以配置布局控件是否出现在编辑器中。当您在 theme.json 中将 settings.layout.allowEditing 属性设置为 false 时,它会禁用所有区块的控件。但您也可以为单个区块配置此设置。

区块主题单篇文章模板触发主查询

由于大多数区块主题不使用查询或文章模板区块,它们从未触发主查询。这在整个生态系统中产生了连锁反应,插件和 WordPress 核心期望文章查询运行。

WordPress 主干代码中的最近一次更新确保主查询循环为区块主题中的单篇文章内容运行。您应该使用您的区块主题和依赖主查询的插件测试此功能,看看它是否纠正了任何已知问题或产生了任何新问题。

主题样式表值作为模板部件属性添加

Gutenberg 现在在编辑器或前端渲染模板部件时自动注入 theme 属性。这是为了修复从模式引用时模板部件未正确渲染的问题。

用于获取模板和部件的新函数

WordPress 主干代码中添加了两个新函数,用于访问与模板和部件相关的 theme.json 数据:

实验性:客户端查询循环分页

由于在 Gutenberg 中持续对交互性 API 进行实验,查询循环区块现在支持原生客户端分页。这是一个早期的解决方案,可能会发生变化,但您现在可以开始测试它。

启用此功能的设置位于查询循环区块检查器控件中的用户体验 > 增强分页下。

图像区块更新

在过去的几个 Gutenberg 版本中,图像区块收到了多项更新。其中大部分是面向用户的更改,解决了宽高比工作方式的问题。其中两项更改可能会影响您构建模板或模式的方式。

当图像区块为宽幅或全宽(即不可调整大小时),尺寸控件现在会消失。与此更改一起,区块选定的宽高比被清除

错误修复…很多

在 WordPress 6.3.0 或 6.3.1 中无法使流体排版正常工作? 这是一个已知问题,当为宽布局使用流体或可变大小时,修复已准备就绪用于 6.3.2。如果您等不及,可以在 theme.json 中为 settings.layout.wideSize 设置静态值作为临时修复。

贡献者在上个月解决了几个与主题相关的问题:

从区块中移除“文章”前缀

“文章”前缀从几个区块标题中移除。这主要是一个面向用户的更改,旨在清理 UI,但在插入器中搜索区块时可能需要一些适应。更新的区块包括:

  • 作者
  • 作者简介
  • 作者姓名
  • 评论
  • 评论数量
  • 评论表单
  • 评论链接
  • 内容
  • 日期
  • 特色图像

活动和资源

Learn WordPress

上个月,Learn WordPress 上新增了两个开发者教程:

开发者时间

最新的开发者时间会议介绍了 HTML API。该 API 的第一部分,标签处理器随 WordPress 6.3 发布,但贡献者仍在充实它,以使其成为插件和主题开发更强大的工具集。

走廊聚会

8 月份有一次走廊聚会,讨论了如何在主题中扩展区块。该会议是发布在开发者博客上的三部分系列超越区块样式的后续。

开发者博客

过去几周,开发者博客上发布了四篇新文章:

<!– wp