我到处搜索,找不到。
现在你是我唯一的希望,请帮助。
全局使用的自定义页面模板,当我为模板部件创建自定义floder时,不会显示在wordpress模板下拉列表中。
My-theme / global_template.php工作
My-theme / template-parts / global_template.php工作
我的主题/ template-parts / archive / global_template.php不要工作
如何制作包含模板的模板部件中的文件夹,以显示在页面属性 - >模板中?
这里的代码是global_template.php中的代码
答案 0 :(得分:1)
你的问题是获得模板的功能深度为1的深度。所以你必须把文件放在主题根目录或第一个子文件夹
核心函数get_post_templates()
调用get_files()
深度为1,并将其传递给扫描目录的函数scandir()
。
您可以手动添加更多模板,例如将{$post_type}
中的add_filter
替换为您要添加模板的帖子类型。例如page
。
/**
* @param array $post_templates Array of page templates.
* Keys are filenames, values are translated names.
*/
function extend_post_type_templates($post_templates, $this, $post, $post_type) {
$post_templates['template-parts/archive/global_template.php'] = 'Name for this';
return $post_templates;
}
add_filter( 'theme_{$post_type}_templates', 'extend_post_type_templates', 10, 4 );