社区新闻

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

欢迎阅读本系列月度文章的第二期。如果您是基于 WordPress 平台进行开发的开发者,那么这些信息正是为您准备的。我们的目标是帮助您更轻松地跟上快节奏的开发周期,将必读内容清单浓缩成一个易于消化的来源。

根据读者反馈,2023年2月刊取得了成功。如果您错过了,可以在闲暇时浏览一下——当然,是在您阅读完这最新一期之后!

WordPress 6.2 是 2023 年的第一个主要版本,预计于 3 月 28 日发布。与其他主要版本一样,Make Core 博客上发布了一份新的《现场指南》。如果真有一份必读内容,那就是这份文档:它是一站式资源,让您了解 WordPress 6.2 中所有与开发者相关的最新功能。

重点内容

过去一个月,Gutenberg 插件和 WordPress 核心中新增了几项功能。此时,您应该在本地环境中至少测试 WordPress 6.2 候选版本 1 或 Gutenberg 15.2。

WordPress 6.2 产品演示

宣布 WordPress 6.2 现场演示的装饰性图片。

3月2日,发布小组成员 Anne McCarthy 和 Rich Tabor 主持了一场 WordPress 6.2 现场产品演示。这是首次由 WordPress 社区成员 Nathan Wrigley 主持的产品演示。

演示重点介绍了即将到来的增强功能和新特性,从重新设计的站点编辑器界面开始。如果您尚未在 Beta 和候选版本周期中试用 WordPress 6.2,该演示将在您深入了解新代码之前提供一个扎实的介绍。

社区主题倡议

WordPress 2023 主题的各种设计变体网格。

2022 年,来自 8 个国家的 19 位设计师共同为 2023 主题构建了 38 种样式变体。在这些提交中,有 10 个进入了最终版本。它的成功清楚地展示了设计社区如何在 WordPress 之上协作构建主题。

继此成功之后,社区主题倡议应运而生。3月7日,超过 20 人参加了首次 Hallway Hangout,讨论在 WordPress.org 用户名下构建区块主题。该项目尚处于早期阶段,任何想要创建区块主题或了解更多信息的人都可以参与。请访问后续文章获取更多信息,或观看 WordPress.tv 上的会议录像

文章特色图片区块支持宽高比

WordPress 站点编辑器显示一个三列的文章网格。使用的特色图片都是相同大小的正方形。

文章特色图片区块现在支持设置宽高比。当您不想明确定义宽度或高度时,这使您能更精确地控制模板输出图像的方式。在构建希望特色图片输出一致的网格布局时,这可能特别有用。

此更改还为 WordPress 中的各种 KSES 函数引入了aspect-ratio CSS 支持

最小高度支持

WordPress 文章编辑器,内容画布中有一个盒子/卡片。它包含一张葡萄图片和演示文本。侧边栏聚焦于一个最小高度字段。

最小高度尺寸支持现已到来。现在您可以将其添加到自定义区块中。目前,如果在 theme.json 中启用,核心的文章内容区块和群组区块(及其堆叠和行变体)默认提供支持。

这项新的区块支持为您提供了更多执行自定义设计的方式,特别是与垂直布局工具和堆叠区块结合使用时。更多信息,请阅读关于此功能的开发说明

重大变更与弃用

WordPress 6.2 将移除几个已弃用的 API 和组件,包括以下内容:

  • RichText 组件的 formatting 属性
  • 非字符串的区块描述
  • 实验性的 @wordpress/edit-navigation

插件与工具

文件系统 API 支持移动目录

WordPress 6.2 将引入一个 move_dir() 函数作为其文件系统 API 的一部分,用于移动目录。自 2.5 版本以来,您可以通过 copy_dir() 复制目录,但必须手动删除原始目录。新函数允许您定义当前目录位置、新位置以及是否覆盖目标位置。

样式书排除不可插入的区块

样式书允许您通过站点编辑器修改全局区块样式。在该功能的早期迭代中,它显示了所有第三方区块以及 WordPress 核心中的区块。一项最近的更改排除了不允许插入的区块。通过其开发说明了解更多关于样式书预览的信息。

Navigator 组件现在支持两项附加功能

  • 它提供了一种通过 goToParent() 函数和 NavigatorToParentButton 组件导航到父屏幕的方法。
  • 它可以匹配命名参数,例如 /product/:productId

这两项功能都假设 NavigatorScreen 实例被分配了具有层次结构且遵循类似 URL 方案(路径段由正斜杠分隔)的路径。

钩子

在需要对 override_load_textdomain 钩子运行过滤器的场景中,WordPress 6.2 将引入 $locale 参数。这确保您始终能访问正确的区域设置。以前,您可能依赖 determine_locale() 函数,但它可能不会返回相同的值。

错误修复

一个最近的补丁修复了在某些情况下使用 wp_list_authors() 函数时出现的 PHP 致命错误。当使用显示每位作者文章数量的 optioncount 参数,并且结果查询包含一个没有任何文章的用户时,会出现此问题。此更改已捆绑在 WordPress 6.2 中,但工单仍然开放,以便可能向后移植到 WordPress 6.1 分支。

主题

默认主题捆绑网页字体

几个默认的 WordPress 主题已更新,将 Google Fonts 捆绑到各自的主题文件夹中:

  • Twenty Twelve
  • Twenty Thirteen
  • Twenty Fourteen
  • Twenty Fifteen
  • Twenty Sixteen
  • Twenty Seventeen

这些都是不支持 theme.json 的经典主题。因此,它们不使用主题开发者可用的较新字体 API。但是,当您构建纯经典主题并希望提供对隐私友好的网页字体时,它们确实为您提供了一个坚实的模型来效仿。开发说明详细介绍了这些更改。

模板类型的起始模式

当您从站点编辑器创建新模板时,现在会出现一个模态窗口。这些起始模式目前仅限于默认回退模板或完全空的状态。最终,此功能将与模式 API 的模板类型支持相结合,让您能为特定模板呈现自定义模式。

主题可以控制文章摘要区块长度

现在,您可以控制文章摘要区块使用的最大单词数。一个新的 excerptLength 属性允许您按查询更改最大值,并解决了一个长期存在的问题,即主题开发者只能全局过滤 excerpt_length 钩子,或者为基于上下文的定制拼凑解决方案。

按钮区块现在被视为“内容”区块

按钮区块现在是一个“内容”区块。实际上,此更改允许您使用锁定 API 来为用户策划编辑器体验。例如,您可以将区块的 templateLock 属性设置为 contentOnly,这会保留其设计但允许用户编辑内容。

区块支持更新

在过去的一个月里,几个核心区块获得了对附加设计工具的支持:

这些更新应该会使自定义默认区块的输出变得容易得多。

新增和更新的默认阴影预设

Gutenberg 14.9 引入了可用于设计的盒阴影预设。有一份开发说明和一份开发者博客教程,将在 WordPress 6.2 发布时指导您使用该功能。

除了自定义预设,该功能最初还提供了两个默认阴影:自然和锐利。一项最近的更改更新了这两者的代码,并引入了新的深色、轮廓和清晰预设。如果您一直在使用自然和锐利预设,您需要测试您的设计,看看这些更改在您的主题中效果如何。

错误修复

一个缺陷最近被修复,该缺陷导致具有数字目录名的活动主题未被识别为活动主题。数字主题名称长期以来一直被允许,因此此补丁仅解决了目录本身的问题。

加载 wp-block-library-theme 样式背后的条件逻辑在上个月打了补丁。在某些情况下,例如当主题不包含编辑器样式表时,主观的区块库主题样式被错误地加入队列。这有时会导致编辑器和前端之间的不一致。

在 WordPress 6.1 中,按钮元素样式被移到了 theme.json。然而,此更改没有考虑到为没有 theme.json 的主题在文件区块中设置按钮元素的样式。一个针对 6.2 的补丁将 CSS 重新引入到经典样式表中。

关于在 rss_widget_feed_link 上添加过滤器的文档已更新,建议返回字符串值。核心的 2021 主题现在使用 __return_empty_string() 函数作为该钩子的过滤器。基于此代码构建自己主题的开发者应更新其主题。这是一个非破坏性更改。

在某些情况下,例如在已弃用的图库区块版本中,布局类被添加到内部区块中。最近的补丁确保这些类仅在区块是容器时才应用于内部包装器

活动与资源

开发者时间会议

开发者时间,一系列与社区成员的问答讨论,已全面恢复。当前的讨论集中在将短代码和小工具插件迁移到区块上。

2月,为欧洲、中东和非洲地区以及美洲地区举行了前两场活动。第三场活动,专门针对欧洲、中东和非洲以及亚太地区,将于3月27日举行

学习 WordPress

Jonathan Bossenger 发布了一个新的视频教程,介绍安全开发插件。它涵盖了您应该熟悉的五个关键领域:

  1. 清理输入
  2. 数据验证
  3. 转义输出
  4. 防止不受信任的请求
  5. 检查用户能力

开发您的第一个低代码区块主题课程的所有模块现已可用。它将引导您了解构建简单区块主题的基础知识。

开发者博客文章

在过去的一个月里,贡献者在开发者博客上为 WordPress 开发社区发布了六篇新文章:

我们的目标是使其成为扩展者持续学习的高质量资源。它也开放贡献,因此请分享您的知识并回馈社区。