如何定义内置分类和自定义分类之间的模板优先级?

时间:2013-05-08 作者:achairapart

假设我想为我的分类法创建一个自定义模板customtax.

这很简单,我只是创建一个taxonomy-customtax.php 在我的主题目录中。

现在,我想用自定义分类法的一个术语查询一个内置类别,如下所示:

www.example.com/?customtax=x&category_name=y
这里的问题是Wordpress总是使用archive.php (或category.php 我想)而不是我的taxonomy-customtax.php 样板

有没有办法扭转这种行为?

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

您可以告诉WordPress要使用的模板文件template_redirect

add_action( \'template_redirect\', \'wpse98738_taxonomy_redirect\' );
function wpse98738_taxonomy_redirect() {
    if( \'x\' == $customtax && \'y\' == $category_name ) {
        include( get_template_directory() . \'/taxonomy-customtax.php\' );
        // if you\'re using a Child Theme, use the following line instead:
        // include( get_stylesheet_directory() . \'/taxonomy-customtax.php\' );
        exit; // so that WP quits looking for templates to load
    }
}
参考法典页:

template_redirect

get_template_directory() / get_stylesheet_directory()

结束

相关推荐