Hướng dẫn lập trình theme WordPress: Tìm hiểu về Template File
17 Nov, 2021 admin
Tiếp tục Seri lập trình theme WordPress cơ bản. Hôm nay chúng ta sẽ tìm hiểu về Template File.
Như mình đã nói ở bài trước, WordPress được lắp ghép bởi rất nhiều template file
Nó có tác dụng hiển thị một vùng nào đó có trên theme như footer, sidbar, header..
Vậy Template file là gì? Chúng có tác dụng gì khi lập trình WordPress?
Trước khi đi vào tìm hiểu sâu hơn, chúng ta hãy xem qua các thuật ngữ liên quan nhé.
Thuật ngữ “Template”
Thuật ngữ “template” được sử dụng theo nhiều cách khác nhau, dựa theo chức năng mà file hoạt động trong giao diện WordPress:
- Template file xuất hiện trong theme và thể hiện cách website được hiển thị.
- Page Template là mẫu chỉ áp dụng cho các trang nhằm thay đổi giao diện của page đấy. Một page template có thể được áp dụng cho một trang, một phần trong trang hoặc một lớp của nhiều trang (class of pages).
- Template Tag là chức năng được tích hợp sẵn trong WordPress sử dụng bên trong file template để truy xuất và hiển thị dữ liệu (chẳng hạn như
the_title()
vàthe_content()
). - Template Hierarchy (phân cấp) là logic WordPress sử dụng để quyết định một hay nhiều template file của giao diện được sử dụng, tùy thuộc vào nội dung được yêu cầu.
Các Template File
Các theme WordPress được được tạo thành từ các template file.
Đây là những file PHP chứa cả HTML, các Template Tag và PHP code.
Trong khi lập trình giao diện WP, các bạn sẽ sử dụng các file template để định bố cục và thiết kế của các phần khác nhau trong website.
Ví dụ: thông thường mình sẽ sử dụng template header.php, để tạo header hoặc comments.php để chứa comment.
Khi một khách truy cập một trang trên website của các bạn, WordPress sẽ tải một template dựa theo yêu cầu.
Loại nội dung được hiển thị bởi template file sẽ được xác định bởi Post Type có liên quan.
Sau đó, Template Hierarchy sẽ mô tả template file được WordPress lựa chọn dựa trên loại yêu cầu của khách và tình trạng của file template trong giao diện.
Cuối cùng, máy chủ sẽ phân tích cú pháp PHP trong template và trả về HTML cho khách truy cập.
Template file quan trọng nhất là index.php, đây là template sẽ được sử dụng nếu WordPress không tìm thấy được một template cụ thể trong template hierarchy.
Mặc dù một giao diện chỉ cần một file index.php
.
Nhưng thông thường các giao diện sẽ chứa nhiều template file, nhằm hiển thị các loại nội dung và bối cảnh đa dạng hơn.
Template partial
Template partial là một phần template bao gồm bên trong một của template khác.
Chẳng hạn như site header.
Các Template partial có khả năng được nhúng trong nhiều template, đơn giản hóa việc thiết kế giao diện.
Các template partial phổ biến như:
- header.php để tạo tiêu đề website
- footer.php để tạo footer (chân trang)
- sidebar.php để tạo sidebar (thanh bên)
Các template file ở trên là những trường hợp đặc biệt trong WordPress.
Và chỉ áp dụng cho một phần của trang.
Ngoài ra, các bạn cũng dễ dàng tạo ra bất kỳ template partial nào và đưa chúng vào các file template khác.
Các file template phổ biến trong WordPress
Đây là danh sách file template cơ bản được WordPress công nhận.
index.php
Đây là file template chính, bất kỳ theme nào cũng phải có.
style.css
Stylesheet chính. Theme nào cũng phải có file này và chứa thông tin header cho giao diện.
rtl.css
Right-to-left (từ phải sang trái) stylesheet được bao gồm tự động nếu ngôn ngữ trên website có hướng đọc từ phải sang trái.
comments.php
Các template chứa bình luận.
front-page.php
Đây là một template front page (mẫu trang đầu), được sử dụng làm trang đầu tiên nếu xuất hiện bất kể cài đặt nào trong Admin » Settings » Reading.
home.php
Mẫu trang chủ (home page template) là một front page theo mặc định.
Nếu bạn không cài đặt WordPress sử dụng front page tĩnh, mẫu trang chủ sẽ được sử dụng để hiển thị các bài đăng mới nhất.
header.php
File template này thường chứa dạng tài liệu của website.
Thông tin meta, liên kết đến stylesheet và các script cũng như dữ liệu khác.
singular.php
Đây là template được sử dụng cho các bài đăng khi không tìm thấy file single.php, hoặc cho các trang khi file page.php không được tìm thấy.
Nếu trong giao diện không có file singular.php
, index.php sẽ được sử dụng.
single.php
Single post template sẽ được sử dụng khi khách truy cập vào một bài đăng.
single-{post-type}.php
Đây là template được sử dụng khi khách truy cập vào một bài đăng từ dạng custom post type.
Ví dụ, single-book.php
sẽ được sử dụng để hiển thị các bài đăng từ một dạng custom post type có tên là book.
File Index.php sẽ được dùng nếu không có template truy vấn cụ thể cho dạng bài đăng tùy chỉnh đấy.
archive-{post-type}.php
Được sử dụng khi khách truy cập yêu cầu lưu trữ bài đăng tùy chỉnh.
Ví dụ: archive-books.php
sẽ được dùng để hiển thị danh sách bài viết được lưu trữ từ dạng bài tùy chỉnh có tên là books.
File archive.php sẽ được thay thế nếu tệp archive-{post-type}.php
không tồn tại.
page.php
Mẫu trang (page template) được dùng khi khách truy cập yêu cầu các trang riêng biệt – một template tích hợp.
page-{slug}.php
Template page slug này được sử dụng khi khách truy cập yêu cầu một trang cụ thể, ví dụ một template với “about” trong slug (page-about.php).
category.php
Mẫu danh mục (category) được sử dụng khi khách truy cập yêu cầu bài viết theo danh mục.
tag.php
Template thẻ (tag) được sử dụng khi khách truy cập yêu cầu bài viết theo thẻ.
taxonomy.php
Template taxonomy được sử dụng khi khách truy cập yêu cầu một thuật ngữ trong taxonomy tùy chỉnh.
author.php
Template trang tác giả được dùng bất cứ khi nào khách truy cập load một trang tác giả (author page).
date.php
Đây là template ngày/giờ được sử dụng khi bài viết được yêu cầu theo ngày hoặc giờ.
Ví dụ: các trang được tạo với những slug date/time:
- http://example.com/blog/2014/
- http://example.com/blog/2014/05/
- http://example.com/blog/2014/05/26/
archive.php
Đây là template được sử dụng khi khách truy cập yêu cầu bài viết theo thể loại, tác giả hoặc ngày.
Lưu ý: Template này sẽ bị ghi đè nếu có các mẫu cụ thể hơn như category.php, author.php hay date.php.
search.php
File này sẽ được dùng để hiển thị kết quả tìm kiếm của khách truy cập.
attachment.php
Đây là template được sử dụng khi xem một tệp đính kèm như hình ảnh, file pdf hoặc file media khác.
image.php
Đây là template đính kèm hình ảnh, một phiên bản cụ thể hơn của file attachment.php, được sử dụng khi xem tệp đính kèm chỉ có duy nhất hình ảnh.
Nếu không tồn tại, WordPress sẽ sử dụng attachment.php.
404.php
Template 404 được sử dụng khi WordPress không thể tìm thấy bài đăng, trang hoặc nội dung phù hợp với yêu cầu của khách truy cập.
Sử dụng các file template
Trong các template của WordPress, bạn có thể sử dugnj Template Tag để hiển thị thông tin động, chứa các file template khác hoặc tùy chỉnh website theo ý muốn.
Ví dụ: trong file index.php
, các bạn có thể bao gồm các file khác:
- Để chứa tiêu đề, sử dụng get_header()
- Để bao gồm thanh bên, hãy dùng file get_sidebar()
- Để bao gồm chân trang (footer), sử dụng get_footer()
- Để chứa biểu mẫu tìm kiếm, hãy dùng get_search_form()
- Cuối cùng là chứa custom theme file, hãy sử dụng get_template_part()
Đây là một ví dụ về việc sử dụng template tag trong WordPress nhằm đưa các template cụ thể vào trang:
; ; ;
Như vậy, chúng ta đã hiểu rõ hơn về các Template file, tuy nhiên mình cũng có một vài viết chi tiết về Template Tag mình sẽ giải thích trong bài tới.
Nếu có bất kỳ thắc mắc gì, hãy comment ở dưới nhé.