[Bài 4] Hàm get_template_part() trong WordPress

Một trong những hàm thường thấy trong các Theme WordPress đó là get_template_part(). Đây là hàm đóng vai trò cũng khá quan trọng khi lập trình Theme. Vậy Template parts có vai trò và cách sử dụng thế nào? Hãy tiếp tục theo dõi bài viết dưới đây.

Get_template_part() dùng để làm gì?

Trong WordPress với một số file như post, page, sidebar, footer, search sẽ được hỗ trợ. Nhưng trong một số trường hợp nó sẽ không được hỗ trợ chằng hạn như file content.php, content-single.php, content-page.php

Trong bài viết Viết code cho file single.php, page.php bạn đã được hướng dẫn viết code. Nhưng nếu bạn đang ở trang chủ và muốn nhấp vào một bài chi tiết nào đó thì vẫn chưa được. Bởi vì file content-single.php chưa được tạo ra.

Cách viết get_template_part()

<?php get_template_part( '$slug' ); ?>

Hoặc

<?php get_template_part( '$slug', 'name' ); ?>

Giải thích:

$slug đó chính là file {$slug}.php nhưng khi dùng get_template_part() thì chúng ta chỉ cần thêm mình $slug thôi. Còn đuôi .php nó sẽ tự động thêm vào.

Còn với ‘$slug’, ‘name’  thì có nghĩa là nó sẽ gọi file {$slug-$name}.php chẳng hạn như

<?php get_template_part( 'template-parts/content', 'single' ); ?>

Thì nó sẽ gọi file content-single.php

Code hoàn chỉnh cho file content-single.php như sau:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="article-wrapper">
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
</header><!-- .entry-header -->

<div class="entry-content">
<?php the_content(); ?>
</div><!-- .entry-content -->
</div> <!-- .article-wrapper -->
</article>

Trong thư mục sẽ gồm có các file như sau:

get-template-parts

Sau khi thêm code vào content-single.php bạn sẽ ra trang chủ để load lại và nhấp vào một bài viết bất kỳ. Lúc này nó sẽ hiện ra toàn bộ nội dung bài viết đó.

Đối với get_template_part() cũng thường được sử dụng để tuỳ biến trang chủ WordPress. Bạn chỉ cần dùng lệnh này gọi ra là được.

Lời kết:

Đến đây bạn đã hiểu về Template parts là gì chưa? Nếu có khó khăn gì hãy cứ comment bên dưới mình sẽ giải đáp giúp bạn nhé!