恐怕不行。如果你不想知道codex中的内容,那么试着按照链接到源代码,自己看看代码,并尝试管理它。
我看了一下,get\\u template\\u part函数定义如下:
function get_template_part( $slug, $name = null ) {
do_action( "get_template_part_{$slug}", $slug, $name );
$templates = array();
if ( isset($name) )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
locate_template($templates, true, false);
}
由此可以看出,get\\u template\\u part函数只是创建一个预期的php文件名,并调用函数locate\\u template。这没有什么用处,所以我也看了一下locate\\u template函数:
function locate_template($template_names, $load = false, $require_once = true ) {
$located = \'\';
foreach ( (array) $template_names as $template_name ) {
if ( !$template_name )
continue;
if ( file_exists(STYLESHEETPATH . \'/\' . $template_name)) {
$located = STYLESHEETPATH . \'/\' . $template_name;
break;
} else if ( file_exists(TEMPLATEPATH . \'/\' . $template_name) ) {
$located = TEMPLATEPATH . \'/\' . $template_name;
break;
}
}
if ( $load && \'\' != $located )
load_template( $located, $require_once );
return $located;
}
Get locate template搜索从Get\\u template\\u部分调用的php文件。但你可以
call locate_template directly 来自您的代码。这很有用。
请尝试此代码,而不是使用get\\u template\\u part(\'loop-sigle.php\')函数(您的文件位于主题内的mydir中):
locate_template( \'mydir/loop-single.php\', true, true );