区块 模式是为用户提供独特且精选的编辑体验的最佳方式之一。

为任何文章类型优先显示起始模式

当用户创建新内容时,无论是什么文章类型,他们都会面对一个空白的画布。然而,由于可以在创建新内容时优先显示特定类型的模式,因此可以改善这种体验。每当用户在网站上拥有支持 core/post-content 区块类型的模式时,每次用户创建新项目时都会出现该模态框。默认情况下,WordPress 不包含这些模式中的任何一种,因此除非至少添加两个此类文章内容模式,否则不会出现该模态框。

若要启用此功能,请在模式的“区块类型”中包含 core/post-content。然后,您可以通过“文章类型”选项控制模式应显示的文章类型。以下是一个在创建新文章时会出现的模式示例。

<?php
 /**
  * Title: New Event Announcement
  * Slug: twentytwentytwo/new-event-announcement
  * Block Types: core/post-content
  * Post Types: post
  * Categories: featured, text
  */
?>

<!-- wp:heading {"lock":{"move":false,"remove":true}} -->
<h2>Details</h2>
<!-- /wp:heading -->

<!-- wp:heading {"lock":{"move":false,"remove":true}} -->
<h2>Directions</h2>
<!-- /wp:heading -->

<!-- wp:heading {"lock":{"move":false,"remove":true}} -->
<h2>RSVP</h2>
<!-- /wp:heading -->

<!-- wp:paragraph {"lock":{"move":true,"remove":true}} -->
<p>To RSVP, please join the #fse-outreach-experiment in Make Slack. </p>
<!-- /wp:paragraph -->

<!-- wp:buttons -->
<div class="wp-block-buttons"><!-- wp:button {"lock":{"move":true,"remove":false}} -->
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button">Learn more</a></div>
<!-- /wp:button --></div>
<!-- /wp:buttons -->

<!-- wp:cover {"useFeaturedImage":true,"dimRatio":80,"overlayColor":"primary","contentPosition":"center center","align":"full"} -->
<div class="wp-block-cover alignfull"><span aria-hidden="true" class="wp-block-cover__background has-primary-background-color has-background-dim-80 has-background-dim"></span><div class="wp-block-cover__inner-container"><!-- wp:paragraph {"align":"center","placeholder":"Write title…","fontSize":"large"} -->
<p class="has-text-align-center has-large-font-size">We hope to see you there!</p>
<!-- /wp:paragraph --></div></div>
<!-- /wp:cover -->

有关此功能的更多信息,请参阅 WordPress 6.0 开发笔记中的页面创建模式 和 说明 WordPress 6.1 已将此功能扩展至所有文章类型。

为模板创建优先显示起始模式

与可以为新文章或页面优先显示模式一样,相同的体验也可以添加到模板创建过程中。当模式声明支持“templateTypes”属性时,每当创建匹配指定名称的模板时,这些模式都会出现,同时提供从空白状态开始或使用当前模板回退值的选项。默认情况下,WordPress 不包含这些模式中的任何一种。

若要启用此功能,模式需要指定一个名为 templateTypes 的属性,该属性是一个包含模式可以用作完整内容的模板的数组。以下是一个在创建 404 模板时会出现的模式示例:

register_block_pattern(
  'wp-my-theme/404-template-pattern',
  array(
      'title'         => __( '404 Only template pattern', 'wp-my-theme' ),
      'templateTypes' => array( '404' ),
      'content'       => '<!-- wp:paragraph {"align":"center","fontSize":"x-large"} --><p class="has-text-align-center has-x-large-font-size">404 pattern</p><!-- /wp:paragraph -->',
  )
);

有关此功能的更多信息,请参阅 WordPress 6.3 开发笔记中“创建新模板”模态框上的模式。

锁定模式

如前文关于锁定 API 部分所述,可以锁定模式本身的一些方面,以保留设计的重要部分。 这是一个示例模式,其中各种区块以不同的方式被锁定。您可以在编辑器中构建这些模式,包括添加锁定选项,然后再 按照文档注册它们。

从模式目录优先显示特定模式

借助 WordPress 6.0,主题可以通过 theme.json 注册来自 模式目录 的模式。为此,主题应使用 theme.json 中的新模式顶层键。在此字段中,主题可以列出要从模式目录注册的模式。“patterns”字段是模式目录中模式 slugs 的数组。可以通过模式目录中单个模式视图的 url 提取模式 slug。例如:此 url https://wordpress.org/patterns/pattern/partner-logos 的 slug 是 partner-logos。

{
    "patterns": [ "short-text-surrounded-by-round-images", "partner-logos" ]
}

内容创作者随后将在插入器“模式”选项卡的与模式目录中类别匹配的类别中找到相应的模式。

其他资源