更改模板层次结构

时间:2012-08-30 作者:Alex

有没有一种简单的方法可以更改WP默认模板层次结构?

例如:;

假设我想更改我的主题目录结构,使其完全改变此处根据条件建议的模板层次结构:

http://codex.wordpress.org/Template_Hierarchy

如果我想确保所有页面类型(is_single() is_home() 它总是打开一个模板文件,然后启动我自己的模式来提供输出?

非常感谢!

1 个回复
最合适的回答,由SO网友:Joshua Abenazer 整理而成

尝试此筛选器

function wpse_63614_restructure_template_hierarchy( $template ){
    return get_template_directory().\'/filename.php\';
}
add_filter( \'template_include\', \'wpse_63614_restructure_template_hierarchy\' );
文件名将是您希望在主题文件夹中调用的文件。对于您将使用的子主题get_stylesheet_directory 相反

EDIT:

或者像奇普·贝内特建议的那样,我也觉得会更好;您可以使用template_redirect 按以下方式钩住。如果需要,可以相应地设置优先级。

function wpse_63614_restructure_template_hierarchy(){
    include( get_template_directory().\'/filename.php\' );
    exit;
}
add_action( \'template_redirect\', \'wpse_63614_restructure_template_hierarchy\' );

结束