WordPress 主题 php 后备搬迁
WordPress Theme php fallback relocate
考虑到 WordPress 回退机制,我们知道我们必须将文件放在主题的根目录中,假设我们有一个名为 gallery
的自定义 post 类型,为此,需要创建archive-gallery.php
作为自定义 post 类型存档页面以使其成为自定义视图。
现在的问题是,我们如何将这个 archive-gallery.php
文件移动到 根 主题目录之外,因为我们正在创建一个像 gallery 这样的插件,并且想要在用户直接或作为插件包含它时创建默认视图。
此外,这可用于减少主题根目录中的文件,特别是当我们有自定义组织系统或使用 composer 时
是的,你可以使用模板包含钩子
add_filter( 'template_include', 'default_template', 99 );
function default_template( $template ) {
if ( is_singular( array( 'cpt1', 'cpt2' ) ) ) {
$template= '/path/archive-gallery.php'
} // also is_archive() etc...
/*
another method:
$file = basename($template);
$default_folder= '/path/';
if(file_exists($default_folder.$file)){
$template= $default_folder.$file;
}
*/
return $template;
}
考虑到 WordPress 回退机制,我们知道我们必须将文件放在主题的根目录中,假设我们有一个名为 gallery
的自定义 post 类型,为此,需要创建archive-gallery.php
作为自定义 post 类型存档页面以使其成为自定义视图。
现在的问题是,我们如何将这个 archive-gallery.php
文件移动到 根 主题目录之外,因为我们正在创建一个像 gallery 这样的插件,并且想要在用户直接或作为插件包含它时创建默认视图。
此外,这可用于减少主题根目录中的文件,特别是当我们有自定义组织系统或使用 composer 时
是的,你可以使用模板包含钩子
add_filter( 'template_include', 'default_template', 99 );
function default_template( $template ) {
if ( is_singular( array( 'cpt1', 'cpt2' ) ) ) {
$template= '/path/archive-gallery.php'
} // also is_archive() etc...
/*
another method:
$file = basename($template);
$default_folder= '/path/';
if(file_exists($default_folder.$file)){
$template= $default_folder.$file;
}
*/
return $template;
}