从技术上讲,现在有两种构建主题的方法。一种是旧的标准方式,其中有PHP模板(遵循传统的模板层次结构)。另一个是block based themes 对所有内容使用块。
我的建议是暂时坚持传统。作为基于块的主题工作的一部分的完整站点编辑仍处于初级阶段,您仍然可以使用古腾堡编辑器和旧的模板方法。我只在工作中这样做。
我通常做的是包括blocks
“我的主题”中的文件夹package.json
文件这是我放古腾堡主题的地方。因此,我将有一个子文件夹(在blocks/src/
) 对于blocks
, plugins
, block-styles
, 等等,然后我将添加所有必要的JS来制作所有这些块和插件。然后,对于模板,我使用标准.php
模板文件(例如。archive-post_type.php
, single.php
, 等等)。
注册自定义帖子类型时,可以指定默认的;“模板”;块的数目:
register_post_type(\'post_type_slug\', array(
// ...
\'show_in_rest\' => true, // Make sure to include this so it loads the Gutenberg editor
\'template\' => array(
array(\'core/heading\', array(
\'level\' => 2)
),
array(\'core/paragraph\'),
),
));
如果需要,也可以锁定模板。看见
template_lock
供您选择。
我写了一些其他的答案,比如how to get and set custom post meta using Gutenberg, 和general best practices I use when working with custom post types in Gutenberg. 我建议你也去看看。