Tùy chọn 2 là lựa chọn tốt nhất. Để biết lý do tại sao, người ta cần nhìn vào trình tải mẫu .
( Hệ thống phân cấp mẫu có nghĩa là không có gì, nếu bạn không biết nó thực sự hoạt động như thế nào hoặc đến từ đâu )
if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :
59 $template = false;
60 if ( is_404() && $template = get_404_template() ) :
61 elseif ( is_search() && $template = get_search_template() ) :
62 elseif ( is_front_page() && $template = get_front_page_template() ) :
63 elseif ( is_home() && $template = get_home_template() ) :
64 elseif ( is_post_type_archive() && $template = get_post_type_archive_template() ) :
65 elseif ( is_tax() && $template = get_taxonomy_template() ) :
66 elseif ( is_attachment() && $template = get_attachment_template() ) :
67 remove_filter('the_content', 'prepend_attachment');
68 elseif ( is_single() && $template = get_single_template() ) :
69 elseif ( is_page() && $template = get_page_template() ) :
70 elseif ( is_singular() && $template = get_singular_template() ) :
71 elseif ( is_category() && $template = get_category_template() ) :
72 elseif ( is_tag() && $template = get_tag_template() ) :
73 elseif ( is_author() && $template = get_author_template() ) :
74 elseif ( is_date() && $template = get_date_template() ) :
75 elseif ( is_archive() && $template = get_archive_template() ) :
76 elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :
77 elseif ( is_paged() && $template = get_paged_template() ) :
78 else :
79 $template = get_index_template();
80 endif;
Trình tải mẫu này chạy trên mỗi và mọi trang tải ở mặt trước bất kể. Như bạn có thể thấy, WordPress đi qua một danh sách và xác thực các điều kiện đối với trang được yêu cầu. Cho phép sử dụng trang danh mục làm ví dụ với danh mục là danh mục Chưa được phân loại.
Một câu lệnh if / other thực thi điều kiện đầu tiên trả về true và trên các trang danh mục, nó sẽ là is_category()
câu lệnh có điều kiện. Tuyên bố này thực thi get_category_template()
và cũng định giá tuyên bố. Nếu câu lệnh này cũng đúng ( trang danh mục hợp lệ có sẵn ), mẫu được tải tương ứng với những gì được tìm thấy, nếu câu lệnh này trả về sai, trình tải mẫu sẽ tiếp tục tìm câu lệnh đúng tiếp theo mà tôi sẽ giải quyết sau .
Những gì xảy ra bên trong get_category_template()
là quan trọng. Hàm tạo ba tên mẫu theo trang danh mục được yêu cầu. Ví dụ, sau đây được tạo theo thứ tự category-uncategorized.php
, category-1.php
và category.php
. Tên mẫu này được lưu trữ trong một mảng và được chuyển đến get_query_template()
. Đây là chức năng có nhiệm vụ tìm kiếm các tên mẫu được truyền cho nó và trả về mẫu đầu tiên tồn tại và có sẵn. Điều này được thực hiện với locate_template()
.
Vì vậy, điều này đang nói là, WordPress ( thực sự locate_template()
nếu bạn muốn có được kỹ thuật ) bắt đầu bằng cách tìm kiếm category-uncategorized.php
, nếu nó được tìm thấy, mẫu được trả lại và được tải. Nếu không tìm thấy, WordPress sẽ chuyển sang thử category-1.php
và nếu thất bại thì cuối cùng nó sẽ thử category.php
. Nếu không có gì được tìm thấy, như tôi đã nói, của chúng tôi
elseif ( is_category() && $template = get_category_template()
điều kiện trả về sai và các điều kiện tiếp tục xuống được đánh giá. Điều kiện tiếp theo mà nhẫn đúng sẽ là is_archive()
( nhớ, is_archive()
trả về true trên danh mục, thẻ, phân loại, lưu trữ loại bài đăng tùy chỉnh, tác giả và các trang liên quan đến ngày ). Quá trình tương tự như trên xảy ra nhưng lần này với archive.php
việc được tìm kiếm và tải nếu nó tồn tại. Nếu archive.php
không tồn tại, toàn bộ câu lệnh có điều kiện sẽ định giá theo mặc định mà nó tải index.php
qua get_index_template()
. Đây là dự phòng cuối cùng cho mỗi trang
KẾT LUẬN VÀ TRẢ LỜI CUỐI CÙNG
Mặc dù bạn có thể nghĩ rằng việc đó category.php
sẽ dẫn đến một chi phí lớn, nhưng điều đó không xảy ra. Vào thời điểm đó index.php
được nạp trên trang mục của bạn, ( cho phép sử dụng ví dụ của chúng tôi một lần nữa ) cho chưa được phân loại thể loại, WordPress đã nhìn và đã cố gắng tải category-uncategorized.php
, category-1.php
, category.php
và archive.php
. Vì vậy, hãy tiếp tục và có các mẫu đẹp để có ( tất cả các mẫu ngoại trừindex.php
) ( đó là TÙY CHỌN 2 của bạn ). Có 10 mẫu đẹp để có mẫu tốt hơn index.php
dòng sông Nile và có nhiều logic được nhồi nhét vào nó hơn những gì Albert Einstein có trong não ( đó là TÙY CHỌN 1 của bạn )
Điều cũng rất quan trọng, quay trở lại với Option1 là bạn giữ các mẫu càng ngắn càng tốt, có thể duy trì và có thể đọc được. Nó thực sự không có ích gì khi có một mẫu, có thể nhanh hơn 0,0000001 giây, nhưng là một mớ hỗn độn và một cơn ác mộng thực sự cần phải duy trì.
Cuối cùng, tùy chọn 2 có nhiều pro hơn so với tùy chọn 1.
index.php
chủ đề thuần túy , thì sẽ rất hấp dẫn khi gọi nónilestein
;-)