Không, content.phpvà content-single.phpkhông phải là điều tương tự.
Trong ví dụ của bạn MÃ:
if (get_post_format() == false) {
get_template_part('content', 'single');
} else {
get_template_part('content', get_post_format());
}
WordPress sẽ tải content-single.phpkhi get_post_format()có false. Tuy nhiên, get_template_part( $slug, $name )vẫn có thể thử tải content.phpkhi bạn gọi nó get_template_part('content', get_post_format());trong ví dụ sau:
get_post_format()trả về (ví dụ) video.
Nhưng bạn không có content-video.phptập tin phần mẫu.
Vì vậy, về cơ bản, ngay cả khi get_post_format()không false, content.phpvẫn sẽ cung cấp cho bạn phần mẫu mặc định nếu phần mẫu liên quan đến định dạng bài đăng tương ứng không được tạo.
Dòng dưới cùng: bất kể chính$sluglà gì, luôn luôn nên giữ tệp phần mẫu mặc định làm phần mẫu dự phòng cuối cùng (trong trường hợp của bạncontent.phplà tệp phần mẫu dự phòng mặc định đó). Vì vậy, CÓ, bạn vẫn có thể cần nó . Vì vậy, đừng xóa nó, để nó một mình.
Sau đây là một phần của CODE từ chức năng cốt lõi get_template_part. Bạn sẽ thấy rằng, lõi luôn tải $templates[] = "{$slug}.php";dưới dạng tệp dự phòng cuối cùng:
function get_template_part( $slug, $name = null ) {
// ... more CODE from WP core
$templates = array();
$name = (string) $name;
if ( '' !== $name )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
locate_template($templates, true, false);
}
Sau đó, trong locate_templatechức năng, nó lặp qua $templatesmảng cho đến khi tìm thấy tệp tương ứng, với CODE sau:
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;
} elseif ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
$located = TEMPLATEPATH . '/' . $template_name;
break;
} elseif ( file_exists( ABSPATH . WPINC . '/theme-compat/' . $template_name ) ) {
$located = ABSPATH . WPINC . '/theme-compat/' . $template_name;
break;
}
}
if ( $load && '' != $located )
load_template( $located, $require_once );
return $located;
}
Vì vậy, như bạn có thể thấy từ CODE ở trên, nếu bạn xóa content.phpvà nếu người dùng chủ đề có định dạng bài đăng mà bạn không có tệp phần mẫu, WordPress sẽ không tìm thấy tệp mẫu để quay lại, vì vậy sẽ chỉ cần tải không có gì trong trường hợp đó Như một nỗ lực cuối cùng, WordPress cố gắng tải một tệp phần mẫu từ wp-includes/theme-compat/thư mục lõi, nhưng không có content.phptệp phần mẫu trong lõi WP.
Lưu ý: Tuy nhiên, nếu bạn đang xây dựng một chủ đề con và chủ đề gốc đã chứacontent.phptệp, thì bạn không cầncontent.phptệp trong chủ đề con (nếu bạn không thực hiện bất kỳ sửa đổi nào ở đó), vì trong trường hợp đó, WordPress sẽ sử dụngcontent.phptệpcủa chủ đề gốc làmtệp phần dự phòng.