WordPress主题php后备重新定位

时间:2016-07-01 19:53:58

标签: php wordpress wordpress-theming

考虑到WordPress回退机制,我们知道我们必须将文件放在theme的根目录中,假设我们有一个名为gallery的自定义帖子类型,为此,需要创建archive-gallery.php as自定义帖子类型存档页面,使其成为自定义视图。

现在的问题是,我们如何在主题的root 目录之外移动此archive-gallery.php文件,因为我们正在创建一个类似于gallery的插件,并且想要创建默认值当用户直接或作为插件包含它时查看。

此外,这可以用于在主题根目录中拥有更少的文件,特别是当我们有自定义组织系统或使用composer时

1 个答案:

答案 0 :(得分:2)

是的,你可以使用模板include hook

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;
}