Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出

Gutenberg 12.9 今天登陆 WordPress.org 插件目录,这是一个强大的版本,为每个人都提供了一些东西。 即使在过去几天对新功能进行了修补之后,我还没有尽可能多地探索所有内容。 鉴于时间的实际限制,我将无法深入探讨这篇文章中的所有内容,但我会尝试向大家介绍一些亮点。

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

块锁定用户界面
gutenberg-12-9-adds-block-locking-ui-automatic-pattern-registration-and-full-theme-exports Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出自定义锁定块。

古腾堡 12.9 引入了一个新的 用于锁定块的 UI. 在工具栏中的“更多选项”下拉菜单中,用户可以选择锁定选项,这将弹出一个包含两个选项的屏幕:

  • 禁止移动:禁止移动方块本身。 但是,兄弟块可以在它周围移动。
  • 防止删除:防止块被删除。

Andrei Draganescu 在 12.9 公告帖

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

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

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

对画廊的块间隙支持……有点
gutenberg-12-9-adds-block-locking-ui-automatic-pattern-registration-and-full-theme-exports-1 Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出图库块的块间距。

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

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

警告:preg_match() 期望参数 2 是字符串,数组在第 51 行的 …wp-content/plugins/gutenberg/build/block-library/blocks/gallery.php 中给出

我相信这将在 12.9.1 中得到纠正。 在那之前,我建议不要使用“块间距”控件。

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

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

列表视图中默认折叠的子项
gutenberg-12-9-adds-block-locking-ui-automatic-pattern-registration-and-full-theme-exports-2 Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出在列表视图中打开一组折叠的嵌套块。

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

然而,最新的古腾堡版本可能只是改变了我对它的使用。 版本 12.9 默认折叠所有子块.

主题的自动模式注册

主题作者现在可以让古腾堡 为他们处理模式注册. 他们只需要遵循一些规则:

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

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

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

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

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

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

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

主题导出和模板构建

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

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

gutenberg-12-9-adds-block-locking-ui-automatic-pattern-registration-and-full-theme-exports-3 Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出使用自定义导出活动主题。

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

编辑器中仍有一些内容尚无法实现,需要在公开发布前手动调整。 style.css 中的主题名称和其他数据将保持与原始主题相同。 也没有办法获取自定义版本的屏幕截图并将其捆绑在 ZIP 中。

这是民主化设计的飞跃,但需要考虑其他流程。 用户应该能够仅将其自定义内容导出为子主题,甚至可以导出为 *.json 文件(全局样式变体)。

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

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

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

gutenberg-12-9-adds-block-locking-ui-automatic-pattern-registration-and-full-theme-exports-4 Gutenberg 12.9 添加块锁定 UI、自动模式注册和完整主题导出添加新的作者模板。

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

资源

相关文章