虽然你可以发现很多好处,但将经典主题转为区块主题时,有一些潜在的问题需要考虑。
- 转换经典主题可能会影响到子主题,在转换之前要考虑到潜在的影响。
- theme.json需要WordPress 5.8或更高的版本。因此,在WordPress 5.8发布时,对Internet Explorer 11的支持被放弃了。如果你的经典主题支持IE11,转换到区块主题可能会影响主题的外观。
逐步采用全站式编辑
有几种方法可以在经典主题上慢慢采用全站编辑功能。
通用主题
通用主题是拥有自定义选项的区块主题。定制器在区块主题上默认是不可用的,但你可以通过在 functions.php 上添加 customize_register 来启用它。
混合主题
混合主题是采用了全站编辑功能的经典主题,如theme.json或模板编辑器。例如,你可以通过简单地在你的经典主题上添加theme.json来启用调色板或设置默认内容宽度。
注意:添加theme.json可以启用全局样式,但并不能启用样式接口。
启用区块功能
在经典主题中添加theme.json
theme.json管理全局样式,也管理每个区块。此外,它还整合了所有add_theme_support。当使用theme.json时,不需要在functions.php中调用add_theme_support。可以通过在根目录下创建theme.json添加到经典主题中。注意,theme.json需要WordPress 5.8或更高版本。
在经典主题中添加区块模式
区块模式是由区块组成的预设布局。它们可以被插入到网站的任何地方,包括页眉和页脚。例如,当一个经典主题为用户提供了添加边栏的选择时,传统上一个主题通过定制器提供了单栏布局或双栏布局。区块模式可以使用区块标记提供同样的选择。了解更多关于如何添加区块模式的信息。
启用模板编辑器
有几种方法来启用模板编辑器:
- 添加theme.json
- 添加
add_theme_support( 'block-templates' );
禁用模板编辑器
要在没有模板编辑器的情况下使用theme.json,主题作者可以通过删除block-templates
主题支持来选择不使用这个功能:
remove_theme_support( 'block-templates' );
定制器选项
创建一个模板目录,并在其中添加一个index.html,可以在文章编辑器中启用模板编辑器,并在管理区的外观菜单下启用网站编辑器。然而,这样做的结果是隐藏了“自定义”菜单。
注意:你可以通过添加customize_register来恢复定制器。这种方法适用于通用主题或混合主题。通用主题在定制器和网站编辑器中工作。
更新日志:
- Updated 2022-02-15 增加了关于如何删除块状模板主题支持的信息。
- Created 2022-01-20