这就是我最终使用的(所有感兴趣的人):
function override_tax_template($template){
// is a specific custom taxonomy being shown?
$taxonomy_array = array(\'tax1\',\'tax2\');
foreach ($taxonomy_array as $taxonomy_single) {
if ( is_tax($taxonomy_single) ) {
if(file_exists(trailingslashit(get_stylesheet_directory()) . \'tax-template-directory/taxonomy-\'.$taxonomy_single.\'.php\')) {
$template = trailingslashit(get_stylesheet_directory()) . \'tax-template-directory/taxonomy-\'.$taxonomy_single.\'.php\';
}
else {
$template = BASE_PLUGIN_DIR . \'includes/tax-template-directory/taxonomy-\'.$taxonomy_single.\'.php\';
}
break;
}
}
return $template;
}
add_filter(\'template_include\',\'override_tax_template\');
我迷上了
template_include
要检查活动模板中是否有名为
taxonomy-YOUR-TAXONOMY-NAME.php
如果没有,则从插件加载默认值。