Tôi không sợ. Nếu trong codex không phải là thứ bạn muốn biết, hãy thử theo liên kết đến nguồn và tự mình xem mã và cố gắng quản lý nó.
Tôi đã xem và hàm get_template_part được định nghĩa như sau:
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);
}
Từ đó, bạn có thể đọc ra, hàm get_template_part đó chỉ tạo ra một tên tệp php dự định và gọi hàm định vị định vị. Điều này không hữu ích, vì vậy tôi cũng đã xem xét về chức năng định vị:
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;
}
Nhận định vị tìm kiếm mẫu cho tệp php được gọi từ get_template_part. Nhưng bạn có thể gọi xác định vị trí trực tiếp từ mã của bạn. Và điều này rất hữu ích.
Hãy thử mã này thay vì hàm get_template_part ('loop-sigle.php') (tệp của bạn nằm trong mydir bên trong chủ đề của bạn):
locate_template( 'mydir/loop-single.php', true, true );