Hàm get_template_part trong wordpress
Trong bài này mình sẽ hướng dẫn cách dùng hàm get_template_part trong WordPress, đây là hàm rất hữu ích được dùng để gọi đến các file template khi xây dựng theme WordPress.
Trong cấu trúc theme WordPress sẽ có các file nhỏ như header.php
, footer.php
, sidebar.php
... và để gọi các file này thì WordPress đã cung cấp các hàm như get_header, get_footer.
Nhưng trong trường hợp ta có một file nào đó mà không nằm trong danh sách mặc định của WordPress mà vẫn muốn load vào thì làm thế nào? Để trả lời câu hỏi này thì ta tìm hiểu hàm get_template_part() trong wordpress nhé.
1. Cú pháp hàm get_template_part() trong wordpress
Hàm này có tác dụng load một phần template nhỏ nào đó vào một template khác một cách đơn giản. Ở đây không phải footer, header, sidebar vì nó có các hàm khác hỗ trợ rồi.
Bài viết này được đăng tại [free tuts .net]
Hàm này có hai tham số, tham số thứ nhất là {slug}
và tham số thứ hai là {name}
, để rõ hơn ta xem cấu trúc của nó như sau:
<?php get_template_part( $slug ); ?> <?php get_template_part( $slug, $name ); ?>
Trong đó:
- Nếu dùng một tham số
$slug
thì wordpress sẽ load file có tên là{$slug}.php
, nghĩa là ta không cần phải thêm phần đuôi .php vào mà nó tự thêm sẵn rồi - Nếu dùng hai tham số là
$slug
và$name
thì wordpress sẽ load file có tên là {$slug-$name}.php
, nghĩa là nó nối phần slug và name lại với nhau cách nhau bởi dấu gạch ngang (-)
2. Sử dụng hàm get_template_parth() trong wordpress
Có hai trường hợp khi sử dụng hàm này như sau.
Sử dụng một tham số
<?php get_template_part( 'book' ); ?>
Đoạn code này sẽ load file có tên là book.php
nằm cấp ngoài cùng của theme. Như vậy khi load file ta không cần truyền phần mở rộng .php vì nó tự thêm sẵn cho ta rồi.
Sử dụng hai tham số
<?php get_template_part( 'book', 'block' ); ?>
Đoạn code này sẽ load file có tên là book-block.php
nằm ngoài cùng của theme. Như vậy Wordpress sẽ tự động nối $slug và $name lại với nhau cách bởi dấu phẩy và thêm phần mở rộng .php
3. Lời kết
Việc sử dụng hàm get_template_part()
chỉ dùng với những file không có hộ trợ trong Wordpress. Ví dụ các file header.php
, footer.php thì đã có các hàm get_header()
và get_footer()
rồi nên không sử dụng hàm get_template_part()
trong wordpress để load nó.