块填充图案是块插入器的填充图案选项卡中提供的预定义块布局。一旦插入到内容中,这些块就可以进行其他或修改的内容和配置。
编辑器附带了几个核心块模式。主题和插件作者可以使用寄存器块模式
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”=>“我的块模式的内容”,));