我想您正在get_query_template()
功能:
/**
* Filter the path of the queried template by type.
*
* The dynamic portion of the hook name, `$type`, refers to the filename -- minus the file
* extension and any non-alphanumeric characters delimiting words -- of the file to load.
* This hook also applies to various types of files loaded as part of the Template Hierarchy.
*
* Possible values for `$type` include: \'index\', \'404\', \'archive\', \'author\', \'category\', \'tag\', \'taxonomy\', \'date\',
* \'home\', \'front_page\', \'page\', \'paged\', \'search\', \'single\', \'singular\', and \'attachment\'.
*
* @since 1.5.0
*
* @param string $template Path to the template. See locate_template().
*/
return apply_filters( "{$type}_template", $template );
在您的案例中,类型是
taxonomy
.
您提到了自己的自定义插件。因此,如果要覆盖hello-cat
自定义分类法的术语,在插件中使用自定义模板,然后可以在根插件文件中尝试以下操作:
add_filter( \'taxonomy_template\', function( $template )
{
$mytemplate = __DIR__ . \'/templates/custom.php\';
if( is_tax( \'some-custom-tax-slug\', \'hello-cat\' ) && is_readable( $mytemplate ) )
$template = $mytemplate;
return $template;
} );
自定义模板放置在自定义插件文件夹中的位置,如:
/wp-content/plugins/my-plugin/templates/custom.php