Patterns API是 WordPress 中的一项强大功能,它允许开发人员创建预先设计的内容块,这些内容块可以轻松插入到帖子、页面、自定义帖子类型和模板中。随着 WordPress 6.2 的推出,Patterns API 已扩展为包含一个template types
属性。该属性允许模式开发人员指定他们的模式适合哪些模板。例如,一个模式可以声明其目的是用于 404 模板或作为作者模板等。支持 WordPress 层次结构中的任何模板。
这是仅后端更新。UX部分的工作正在进行中,并将在未来的Gutenberg版本中提供——预计将出现在 WordPress 6.3 的站点编辑器中。API 提供有关模式和模板关系的WordPress核心信息。此信息可用于多种目的。考虑到 WordPress 6.3,第一个用法是在用户开始创建模板时向用户展示一些在模板上有意义的模式。用户可以从模式而不是“空白”或后备模板开始。
技术细节
模式 API 的 register_block_pattern() 函数已更新为包含一个新template_types
参数。该参数是一个字符串数组,其中包含模板所针对的模板的名称,例如 404、作者等。该参数template_types
是可选的,使用它不是注册模式所必需的。
REST API也被扩展为返回模式的模板类型,以防已定义。
测试
- 激活二十二十一主题。
- 在主题
inc/block-patterns.php
文件中,在对 的现有调用之后register_block_pattern()
,添加带有以下代码段的示例测试模式(图 1)。保存文件。 - 打开帖子编辑器,然后打开浏览器的开发人员工具 (Chrome) 或 Web 开发人员工具 (Firefox) 控制台。
- 在控制台中,输入以下内容以检索注册的模式:
wp.apiFetch( { path: '/wp/v2/block-patterns/patterns' } ).then( console.log );
- 验证 API 响应是否包含模式
query/template-type-test
,并template_types
已404
列出(图 2)。
图 1:二十二十一测试代码片段
register_block_pattern( '查询/模板类型测试', 大批( 'title' => __( '模板类型测试', 'twentytwentyone' ), 'templateTypes' => array( '404' ), 'content' => '<!-- wp:paragraph {"align":"center","fontSize":"x-large"} --> <p class="has-text-align-center has-x-large-font-size">404</p> <!-- /wp:段落-->', ) );