Template Hierarchy – Cấu trúc ưu tiên file giao diện
Khi bạn truy cập một trang (ví dụ bài viết, trang chủ, chuyên mục…), WordPress sẽ tìm các file theo thứ tự ưu tiên để hiển thị giao diện.
Ví dụ:
Khi bạn truy cập:
https://example.com/tin-tuc/
WordPress sẽ làm:
- Đây là trang danh mục (category)?
- Tên slug là
tin-tuc
? - Tìm file theo thứ tự:
category-tin-tuc.php
category-<ID>.php
(ví dụ:category-12.php
)category.php
archive.php
index.php
⟹ Gặp file nào trước thì dừng ở đó.
Tổng quan các file và thứ tự ưu tiên:
Loại trang | Template ưu tiên |
---|---|
Trang chủ (home) | home.php → index.php |
Trang tĩnh (page) | page-{slug}.php → page-{ID}.php → page.php → singular.php → index.php |
Bài viết (post) | single-post.php → single.php → singular.php → index.php |
Danh mục (category) | category-{slug}.php → category.php → archive.php → index.php |
Thẻ (tag) | tag-{slug}.php → tag.php → archive.php → index.php |
Tác giả (author) | author-{nicename}.php → author.php → archive.php → index.php |
Custom Post Type (CPT) | single-{posttype}.php → single.php → singular.php → index.php |
Trang tìm kiếm | search.php → index.php |
Trang 404 | 404.php → index.php |
Trang lưu trữ (archive) | archive-{posttype}.php → archive.php → index.php |
Minh họa bằng ví dụ
Ví dụ 1: Trang bài viết
Truy cập: https://example.com/bai-viet-abc/
WordPress sẽ tìm:
single-post.php
single.php
singular.php
index.php
Ví dụ 2: Custom Post Type tên là “sanpham”
Truy cập: https://example.com/sanpham/banh-mi
WordPress tìm:
single-sanpham.php
single.php
singular.php
index.php
Ví dụ 3: Trang danh mục tên “Tin tức” (slug: tin-tuc
)
Truy cập: https://example.com/category/tin-tuc
WordPress tìm:
category-tin-tuc.php
category.php
archive.php
index.php
Tạo file mới theo cấu trúc hierarchy
Ví dụ: Bạn muốn giao diện danh mục “Tin tức” khác biệt:
- Tạo file:
category-tin-tuc.php
- Copy nội dung từ
archive.php
sang - Chỉnh sửa giao diện riêng
WordPress sẽ tự động dùng file này khi vào danh mục “Tin tức”.
Kết luận
Điều cần nhớ | Ý nghĩa |
---|---|
Hierarchy là cấu trúc tìm file | WordPress tự động chọn file phù hợp |
Tạo file riêng cho từng mục | Giúp bạn cá nhân hóa từng trang cụ thể |
Luôn có index.php là fallback | Nếu không có file nào khác, WordPress dùng index.php |
Thảo luận