Gutenberg 12.9 今天登陆 WordPress.org 插件目录,这是一个功能强大的版本,适合所有人。即使在过去几天修补了新功能之后,我也没有尽可能多地探索所有内容。鉴于时间的实际限制,我无法深入探讨这篇文章中的所有内容,但我会尽力为您提供一些亮点。

以下是一些我无法深入研究的特色项目,但我仍然鼓励读者查看:

Block Lock UI
自定义锁块。

Gutenberg 12.9 引入了一个用于锁定块的新 UI。从工具栏的“更多选项”下拉菜单中,用户可以选择锁定选项,这将弹出一个窗口,其中有两个选项屏幕:

  • 禁止移动:禁止移动阻止自己。但是,兄弟块可以在它周围移动。
  • 防止删除:防止块被删除。

Andrei Draganescu 在 12.9 上发帖:

当一个块被锁定时,用户要么它无法移动,或无法删除,或两者兼而有之。这对于站点级块特别有用,例如许多主题想要锁定的已发布内容。

但是,这个定义并没有完全解释块级锁。有一个警告:这个新的 UI 将密钥交给最终用户。从技术上讲,他们已经通过代码编辑器获得了此功能,但现在可以通过界面使用。

从主题开发的角度来看,块级锁定只需要用户移动和/或删除块的额外步骤。它不是“强制”或“永久”锁定。这是一个受欢迎的功能,但用户应该意识到它的局限性,这个新的 UI 为用户提供了更多的功能,而不是更少。

画廊的Block gap支持...有点
画廊块的块间距。

在这个版本中,我最兴奋的功能之一是增加了图库中图像之间的间距。主题作者依靠专门的块样式为用户提供选择,通常仅限于默认和“无间隙”选项。后者将消除图像之间的任何间距。

不幸的是,当用户手动设置间隙时,此功能在 12.9 中被破坏。检查源代码,它输出一个数组而不是有效的 CSS。在前端,会显示如下警告:

WARNING: preg_match() expects argument 2 to be string, array at line 51 of ...wp-content/plugins/gutenberg/build/block -library/blocks/ gallery.php

我相信这会在 12.9.1 中得到纠正。在那之前,我建议不要使用 Block Spacing 控件。

主题作者警告:对于以 --gallery-block--gutter-size 为目标以控制画廊的默认装订线的主题,这是一项重大更改。这个以前可靠的 CSS 自定义属性不再存在于代码中。目前尚不清楚为什么这个变量被完全删除,也没有在票证中提及。

一个新的 –wp–style–unstable-gallery-gap 变量似乎做了类似的工作。然而,正如其名称中不稳定的部分所暗示的那样,它可能并不总是存在。它也在 .wp-container-* 类而不是画廊本身上定义。我还没有做足够的 CSS 测试来弄清楚如何为默认间隙覆盖它。如果有人有解决方案,请在评论中发布,以便其他人可以使用。

列表视图默认折叠子项
在列表视图中打开一组折叠的嵌套块。

对于大多数实际场景,我经常回避编辑器中的列表视图,至少对于具有许多嵌套块的页面。默认情况下打开每个级别,浏览和定位特定块有点像噩梦。在内容画布中四处单击更容易。

但是,最新的 Gutenberg 版本可能只是改变了我对它的使用。 12.9 版默认折叠所有子块。

主题的自动架构注册

主题作者现在可以让 Gutenberg 为他们处理架构注册。他们只需要遵循一些规则:

  • 将块模式添加到 /patterns 文件夹中的 PHP 文件。
  • 将模式数据添加到文件头。
  • 当然是添加架构内容。

单个模式文件应该如下所示:

只有 Title 和 Slug title 字段是必需的。每个选项都匹配一个 register_block_pattern() 函数参数。

现在想要使用此功能但提供与 WordPress 5.9 的向后兼容性的主题作者可以检查是否存在 gutenberg_register_theme_block_patterns() 函数。至少这是当前的函数名称。

此更改进一步建立在块主题的现有标准之上。作者现在有了通过标准文件和文件夹注册大多数功能的明确指南:

  • /parts – 块模板部件
  • /patterns – 块模式
  • /styles – 全局样式更改
  • /templates – 块模板
  • theme.json – 全局设置和样式

Except几乎涵盖所有内容除了自定义块样式和变体(不要与全局样式变体混淆)。这个全面的合集降低了潜在主题作者的进入门槛。即使是经验丰富的开发人员也应该欣赏命名事物以及放置它们的位置的简单性。这是一件不用担心的事情。它还将继续简化 WordPress.org 主题审查系统。

主题导出和模板构建

说到降低门槛,创作者现在可以从站点编辑器构建整个主题。好吧,假设他们从现有的块主题开始。

Gutenberg 12.9 为网站构建过程引入了两个重要功能。第一个允许用户直接从编辑器导出他们活动主题的副本:

使用自定义导出活动主题。

从这次导出中下载的 ZIP 文件是一个功能齐全的主题。它包括所有用户自定义设置以及原始文件中已存在的每个文件。

编辑器中还有一些东西没有实现,需要在公开发布前手动调整。 style.css 中的主题名称和其他数据将与原始主题保持一致。也没有办法截取自定义构建的屏幕截图并将它们捆绑在 ZIP 中。

这是向民主化设计迈出的一大步,但还有其他过程需要考虑。用户应该能够仅将他们的自定义导出为子主题,甚至导出为 *.json 文件(全局样式变体)。

但是,还有一个更直接和实用的用例。用户可以下载他们定制的主题并将它们上传到另一个站点。

站点编辑器中的第二个关键开发更新是支持更多模板。除了现有的模板管理面板,用户现在可以从模板管理面板创建以下内容;

  • 作者
  • 类别
  • 日期
  • 标签
  • 类别

添加新作者模板。

新模板是一个受欢迎的补充,但模板创建功能仍然有限。无法通过 UI 在这些模板上创建变体,例如 category-wordpress、taxonomy-genre 或许多其他可能性。然而,总有一天它会发生。

资源