你可能把事情弄得太复杂了。您可以使用template_include 过滤掉那个
add_filter( \'template_include\', \'wpse_206394_template\', 99 );
function wpse_206394_template( $template ) {
if ( template should be blabla ) {
$new_template = locate_template( array( str_replace(\'.php\',\'-blabla.php\',$template) ) );
if ( \'\' != $new_template ) {
return $new_template ;
}
}
return $template;
}
但是,通过正确使用模板层次结构,很可能可以获得相同的效果。