模式

块填充图案是块插入器的填充图案选项卡中提供的预定义块布局。一旦插入到内容中,这些块就可以进行其他或修改的内容和配置。

块图案

寄存器块模式

编辑器附带了几个核心块模式。主题和插件作者可以使用寄存器块模式helper函数。

这个寄存器块模式helper函数接收两个参数。
标题:具有命名约定的机器可读标题名称空间/标题.
属性:描述模式属性的数组。

块阵列可用的特性包括:

  • 标题(必需):模式的可读标题。
  • 内容(必需):阻止模式的HTML标记。
  • 描述(可选):用于描述插入器中模式的可视隐藏文本。描述是可选的,但如果标题没有完全描述模式的功能,则强烈建议使用描述。该描述将帮助用户在搜索时发现模式。
  • 类别(可选):用于对块模式进行分组的注册模式类别数组。块图案可以显示在多个类别上。类别必须单独注册才能在此处使用。
  • 关键字(可选):帮助用户在搜索时发现模式的别名或关键字数组。
  • 视图端口宽度(可选):一个整数,指定图案的预期宽度,以便在插入器中按比例预览图案。
  • 块类型(可选):用于模式的块类型数组。每个值都需要是声明的块的名称.
  • 帖子类型(可选):模式被限制用于的帖子类型的数组。只有在编辑数组中传递的一个post类型时,该模式才可用。对于所有其他帖子类型,该模式根本不可用。
  • 模板类型(可选):模式有意义的模板类型数组,例如,404如果该模式用于404页,单柱如果模式是显示单个帖子。
  • 插入器(可选):默认情况下,所有图案都将显示在插入器中。若要隐藏模式以便只能以编程方式插入,请将插入器.
  • 来源(可选):表示模式源的字符串。对于注册模式的插件,传递字符串插件。对于主题,传递字符串主题.

以下代码示例注册名为my-plugin/my-wesome彩绘:

寄存器块模式(“my-plugin/my-awesome-pattern”,阵列(‘title’=>__(‘两个按钮’,‘my-plugin’),“description”=>_x(“两个水平按钮,左边的按钮被填充,右边的按钮被轮廓化。”,“Block pattern description',”my-plugin“),'content'=>“<!--wp:buttons{\”align\“:\”center\“}-->\n<div class=“wp-block-buttons aligncenter\”><!--wp:button{\”backgroundColor\“:”very-dark-gray\“,\”borderRadius\“:0}-->\n。esc_html__(“按钮一”,“my-plugin”)。“</a></div>\n<!--/wp:button--->\n<!--wp:button{\”textColor“:\”非常深灰色\“,\”borderRadius\“:0,\”className\“:\”是样式大纲\“}-->\n<div class=\”wp-block-button__link有文本颜色有非常深灰色没有边框半径\“>”。esc_html__(“按钮二”,“my-plugin”)。“</a></div>\n<!--/wp:button--></div>\n<!--/wp:button-->”,));

请注意寄存器块模式()应该从附加到初始化挂钩。

函数my_plugin_register_my_patterns(){寄存器块模式(…);}add_action('init','my_plugin_register_my_patterns');

正在注销块模式

取消注册块模式

这个取消注册块模式helper函数允许从主题或插件中注销之前注册的块模式,并接收一个参数。

  • 标题:要注销的块模式的名称。

以下代码示例注销名为my-plugin/my-wesome彩绘:

unregister_block_pattern(“我的插件/我棒极了的模式”);

注:

unregister_block_pattern()应该从附加到init挂钩的处理程序调用。

函数my_plugin_unregister_my_patterns(){unregister_block_pattern(…);}add_action('init','my_plugin_unregister_my_patterns');

块图案类别

块图案可以使用类别进行分组。块编辑器附带了可用于自定义块图案的捆绑类别。您还可以注册自己的块图案类别。

寄存器块模式类别

这个寄存器块模式类别helper函数接收两个参数。

  • 标题:块图案类别的机器可读标题。
  • 属性:描述模式类别属性的数组。

图案类别的属性包括:

  • 标签(必需):图案类别的可读标签。

以下代码示例注册了名为英雄:

寄存器块模式类别(“英雄”,数组(“label”=>__(“Hero”,“my-plugin”));

注:

寄存器块模式类别()应该从附加到init挂钩的处理程序调用。

除非已将模式分配给该类别,否则该类别不会显示在“模式”下。

函数my_plugin_register_my_pattern_categories(){寄存器块模式类别(…);}add_action('init','my_plugin_register_my_pattern_categories');

取消注册块模式类别

这个取消注册块模式类别helper函数允许从主题或插件中注销之前注册的块模式类别,并接收一个参数。

  • 标题:要注销的块图案类别的名称。

以下代码示例注销名为的类别英雄:

unregister_block_pattern_category(“英雄”);

注:

取消注册块模式类别()应该从附加到init挂钩的处理程序调用。

函数my_plugin_unregister_my_pattern_categories(){unregister_block_pattern_category(…);}add_action('init','my_plugin_unregister_my_pattern_categories');

块阵列上下文到块类型和阵列转换

可以将块图案附着到一个或多个块类型。这会将块图案添加为该块类型的可用变换。

目前,这些转换仅适用于简单块(没有内部块的块)。为了建议一种模式,每个选定的块必须存在于块模式中.

例如:

寄存器块模式(“my-plugin/powered-by-wordpress”,阵列(“title”=>__(“由WordPress支持”,“my-plugin”),“blockTypes”=>数组(“核心/段落”),“内容”=>“<!--wp:段落{“backgroundColor”:“black”,“textColor”:“white”}-->由WordPress提供支持</p><!-- /wp:段落-->',));

上述代码注册了一个名为my-plugin/powered-by-wordpress并显示段落块的“转换菜单”中的模式。转换结果将保留段落的现有内容并应用其他属性——在本例中为背景和文本颜色。

如上所述,如果我们选择了多个块,并且有与这些块匹配的上下文模式,那么简单块的模式转换也可以工作。让我们看一个附加了两个块类型的模式示例。

寄存器块模式(“my-plugin/powered-by-wordpress”,阵列(“title”=>__(“由WordPress支持”,“my-plugin”),“blockTypes”=>数组(“核心/段落”、“核心/标题”),“内容”=>“<!--wp:组--><div class=“wp-block-group”><!-- wp:heading{“fontSize”:“large”}-->大家好</h2><!-- /wp:标题--><!-- wp:段落{“backgroundColor”:“black”,“textColor”:“white”}-->由WordPress提供支持</p><!-- /wp:段落--></div><!--/wp:组-->',));

在上面的示例中,如果我们选择两者之一块类型,无论是段落还是标题块,都将通过使用其内容转换所选块来建议此模式,并且还将添加模式中的其余块。另一方面,如果我们多选一个段落和一个标题块,这两个块都将被转换。

块也可以在其他地方使用这些上下文块图案。例如,当插入一个新的查询循环块时,会向用户提供一个附加到该块的所有模式的列表。

语义块模式

在块主题中,还可以将块图案标记为“页眉”或“页脚”图案(模板零件区域)。我们称这些为“语义块模式”。插入或替换页眉或页脚模板部件时,会向用户显示这些模式。

例子:

<?php(电话)寄存器块模式(“my-plugin/my-header”,阵列('标题'=>__('我的标题','我的插件'),“categories”=>数组(“header”),//将图案指定为“标题”区域。“blockTypes”=>数组(“core/template-part/header”),“content”=>“我的块模式的内容”,));