WordPress 6.5自定义代码模板无法分配问题求助
解决WordPress 6.5+块主题自定义PHP模板不显示问题
WordPress 6.5对块主题(如Twenty Twenty-Two)的模板机制做了调整,传统通过Template Name:注释创建的PHP自定义模板不再自动被编辑器识别,需要手动注册才能显示。以下是两种可行的解决方法:
方法一:在子主题functions.php中注册自定义模板
通过theme_templates过滤器将你的PHP模板注册到系统中,代码示例:
function child_theme_register_custom_templates( $templates ) { // 注册about页面模板 $templates[] = array( 'slug' => 'about', 'title' => '关于我们页面模板', // 替换为你的模板名称 'post_types' => array( 'page' ), 'template_file' => 'template-about.php', // 你的模板文件路径 ); return $templates; } add_filter( 'theme_templates', 'child_theme_register_custom_templates' );
将上述代码添加到子主题的functions.php文件中,保存后刷新后台编辑器,自定义模板即可出现在模板选择列表中,已分配模板的页面也会恢复模板选择项。
方法二:改用块主题原生模板格式
如果不需要复杂的PHP逻辑,可以将模板转换为块主题支持的HTML模板:
- 在子主题的
templates目录下创建about.html文件 - 使用Gutenberg编辑器构建模板结构(可导出现有页面的块代码)
- 保存后,该模板会自动出现在编辑器的模板选择区
注意:如果需要保留PHP逻辑,优先使用方法一。
内容的提问来源于stack exchange,提问作者Brisk
相关产品推荐
相关产品推荐

