Huy Hòa
  • Home
  • Lập trình
    • WordPress
    • Joomla
    • Marketing
    • Seo Web
    • Thiết kế Web
  • Mẹo Vặt
  • Sức khỏe
  • Làm đẹp
  • Du Lịch
  • Free Tools
    • Chuyển Số Thành Chữ
    • Sửa Lỗi Font Chữ Tiếng Việt Online
    • Phần Mềm Gõ Tiếng Việt Online
  • Liên hệ
Nổi bật
  • Nước vo gạo và những công dụng tuyệt vời mà bạn chưa biết
  • 21 Serum HA tốt nhất hiện nay cho da khô, da dầu nhờn và trị mụn
  • 15 cách làm trắng răng tại nhà cực kỳ hiệu quả và dễ áp dụng
  • 50+ website tải Sound Effects chất lượng cao miễn phí và có phí
  • Đánh giá 10 phần mềm SEO AI tốt nhất hiện nay
Thứ Sáu, Tháng Ba 31
Huy Hòa
  • Home
  • Lập trình
    • WordPress
    • Joomla
    • Marketing
    • Seo Web
    • Thiết kế Web
  • Mẹo Vặt
  • Sức khỏe
  • Làm đẹp
  • Du Lịch
  • Free Tools
    • Chuyển Số Thành Chữ
    • Sửa Lỗi Font Chữ Tiếng Việt Online
    • Phần Mềm Gõ Tiếng Việt Online
  • Liên hệ
Huy Hòa
Home»Thiết kế web»Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể

Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể

Facebook Twitter Pinterest LinkedIn Tumblr Email
Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể
Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể

Trong WordPress, get_template_part() là một hàm hữu ích dùng để gọi và chèn nội dung files khác vào giao diện. Bạn có thể sử dụng get_template_part trong bất kỳ template hay plugins nào vì đây là hàm nằm trong lõi của WordPress. Bài viết này sẽ hướng dẫn cách sử dụng cùng với các ví dụ cụ thể để bạn dễ hiểu hơn về hàm này. Đồng thời cũng giải thích tại sao get_template_part lại quan trọng đối với việc phát triển Theme WordPress.

Table of Contents

  • 1 Get_template_part là gì trong WordPress?
  • 2 Cách sử dụng hàm get_template_part()
    • 2.1 Sử dụng get_template_part với 1 tham số:
    • 2.2 Sử dụng get_template_part() với 2 tham số:
  • 3 WordPress Child Themes: Tại sao get_template_part() lại tốt hơn PHP include() hoặc require()

Get_template_part là gì trong WordPress?

get_template_part() là một hàm của WordPress dùng để chèn (include) nội dung ở các file khác vào giao diện hoặc vào file bạn đang thiết kế. Nó hoạt động khá giống với hàm include() của PHP.  Trong WordPress, giao diện (Template) có thể được chia thành các Part nhỏ. Hàm get_template_part() có tác dụng load các template part của WordPress vào một template hoàn chỉnh.

Điều này giúp cho các nhà phát triển có thể dễ dàng gom và nhóm các block của giao diện vào một file rồi dùng get_template_part để chèn bất cứ khi nào cần.

function get_post_meta( $post_id, $key = '', $single = false ) {
return get_metadata( 'post', $post_id, $key, $single );
}

Hãy lấy một ví dụ về vòng lặp trong tệp index.php, sử dụng get_template_part():

/* Đây là một phần file index.php trong theme wordpress */
if ( have_posts() ) :
while ( have_posts() ) : the_post();
get_template_part( 'content' );
endwhile;
endif;

Và đây là file content.php mẫu của chúng ta:

/* Đây là một phần file index.php trong theme wordpress */
<article id ="post-<? php the_ID ();?>" <?php post_class (); ?>>
<h2 class = "entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title (); ?>
</a>
</h2>
<? php the_excerpt (); ?>
</article>

Trong ví dụ này, WordPress sẽ chạy file index.php bao gồm cả nội dung của content.php ở bên trong nó. Bạn có thể tưởng tượng việc WordPress tải hoàn toàn nội dung của content.php khi nó chạy hàm get_template_part(). Điều này cho phép chúng ta tránh phải viết lại tất cả cùng một đoạn code ở nhiều tệp khác nhau trong giao diện WordPress.

Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể
Hàm get_template_part() có chức năng tương tự như hàm Include hay Require trong PHP nhưng lại tối ưu và có nhiều ưu điểm hơn nhiều.

Vậy tại sao lại phải chia một tệp này thành hai tệp khác nhau thế? Đơn giản là vì khi chia ra thì cả index.php và content.php đều nhỏ gọn và dễ đọc.
Hai tệp hiện có các trách nhiệm khác nhau: index.php chứa hầu hết là logic và content.php chứa hầu hết là mã tạo mẫu HTML / PHP trình bày.

Ưu điểm chính: Đoạn code trong content.php có thể được sử dụng lại bởi các tệp mẫu khác, như home.php, đơn giản bằng cách các tệp đó cũng gọi get_template_part(‘content’). Điều này làm giảm tính cồng kềnh tổng thể của giao diện. Thêm một điều nữa là nó dễ tùy biến. Ví dụ, nếu bạn muốn thay đổi điều gì đó ở content.php, bạn chỉ thay đổi nó một lần và các thay đổi sẽ phổ biến ở mọi nơi.

Cách sử dụng hàm get_template_part()

Thông thường hàm get_template_part() được sử dụng với 3 tham số truyền vào.

get_template_part( $slug, $name, $args );

Trong đó:

$slug: là tham số thứ nhất, biểu thị cho đường dẫn.
$name: Là tham số thứ hai, biểu thị cho tên nếu có
$args: Là tham số thứ ba, biểu thị cho các giá trị quyền vào cho tệp được gọi.

Khi hàm get template part được thực thi mà không có tham số nào được truyền vào thì nó sẽ tự động xác định là không thực thi.

Lưu ý: Hàm get_template_part() được thực thi sử dụng hàm require của PHP, chứ không phải require_once. Do đó bạn có thể thoải mái gọi get_template_part bao nhiêu lần trong 1 tệp tin đều được.

Sử dụng get_template_part với 1 tham số:

Khi sử dụng get_template_part với duy nhất 1 tham số thì nó hiểu đó là tham số thứ nhất $slug.
Ví dụ:

<?php get_template_part ('noidung'); ?>

Thì nó sẽ lấy nội dung của file noidung.php

<?php get_template_part ('quocgia/vietnam'); ?>

Thì nó sẽ lấy nội dung của file vietnam.php nằm trong thư mục quocgia (quocgia/vietnam.php)

Sử dụng get_template_part() với 2 tham số:

Ví dụ cách sử dụng hàm get_template_part():

<?php get_template_part ('dautien', 'thuhai'); ?>

Lệnh này sẽ chèn nội dung của file dautien-thuhai.php trong cùng thư mục với thư mục chứa nó.

Ví dụ thứ 2: Trong giao diện WordPress của huyhoa.net có cấu trúc như sau: index.php, content-dulich.php, content-web.php, content-meovat.php, header.php, footer.php

Như vậy, rõ ràng trong file index.php (đây là ví dụ đơn giản để các bạn dễ hiểu)

<?php get_header(); ?>
<?php
if ( have_posts() ) 
{
$i = 0;
while ( have_posts() ) 
	{
	$i++;
	the_post();
	get_template_part( 'content', get_post_type() );
	}
}
?>
<?php 
get_footer();
?>

Như vậy, khi xem mục du lịch nó sẽ gọi nội dung của content-dulich.php, tương tự như xem mẹo vặt nó sẽ gọi nội dung của content-meovat.php

Khi có 2 tham số truyền vào thì get_template_part sẽ gọi file tương ứng. Lưu ý khi đặt tên file đó thì đối số thứ nhất và đối số thứ 2 được phân cách bằng dấu gạch ngang (-).

Ví dụ tên file đúng để get_template_part có thể gọi là doisothunhat-doisothu2.php

Các tên file không được có dấu, phải là chữ latin và như đã nói, PHẢI PHÂN CÁCH bằng dấu gạch ngang.
Trong trường hợp truyền 2 đối số mà nó tìm không thấy thì nó sẽ lấy đối số thứ nhất.

Nếu có giao diện mẹ, giao diện con thì nó sẽ ưu tiên tìm trong giao diện con trước. Sau đó mới đến giao diện cha mẹ.

Có thể bạn quan tâm:

33 Hàm Trong WordPress Hay Sử Dụng Nhất

Lấy một ví dụ để các bạn dễ hiểu cách hoạt động của get_template_part trong giao diện mẹ con nhé.

Ta có thư mục giao diện như sau (huyhoa là giao diện cha mẹ, huyhoa-child là giao diện con):
huyhoa/index.php, huyhoa/content-dulich.php, huyhoa/content.php
huyhoa-child/index.php, huyhoa-child/content-dulich.php, huyhoa-child/content.php

get_template_part( 'content', 'dulich' );

Dựa trên đoạn mã này, WordPress sẽ tìm kiếm các tệp sau, theo thứ tự:

Trong chủ đề con (huyhoa-child): content-dulich.php
Trong chủ đề mẹ (huyhoa): content-dulich.php
Trong chủ đề con (huyhoa-child): content.php
Trong chủ đề mẹ (huyhoa): content.php

Với get_template_part, việc chuyển các biến cho đối số thứ hai cũng khá phổ biến. Việc chuyển các biến đến get_template_part rất hữu ích vì nó cho phép chúng ta lưu trữ những thứ (như định dạng bài đăng WordPress) dưới dạng một biến và sau đó được chuyển vào hàm.

Hoặc chúng ta có thể đơn giản có những gì có thể là một biến khai báo đứng như một hàm gọi nội tuyến, như dòng này từ giao diện mặc định twentytwenty:

get_template_part('template-part/post/content', get_post_format ());

WordPress Child Themes: Tại sao get_template_part() lại tốt hơn PHP include() hoặc require()

Nếu bạn biết là một lập trình viên PHP, bạn có thể tự hỏi: Tại sao không sử dụng các hàm include() hoặc require() của PHP? Chúng đều có chức năng chèn nội dung thực thi của file cần chèn mà. Tuy nhiên, nếu xét kỹ hơn, chúng ta sẽ thấy những nhược điểm mà PHP include() hoặc require() không làm được như get_template_part.

Đầu tiên, các hàm PHP mặc định không có cấu trúc “hai đối số dự phòng” của get_template_part(), như đã trình bày ở trên. Điều này có nghĩa là khi chèn một tệp bất kỳ, sẽ không có biện pháp dự phòng nào cả, nếu không tồn tại tệp tin đó, nó sẽ nhảy luôn ra lỗi. Điều đó thật tệ đúng không?

Lý do thứ hai và quan trọng hơn là Child Themes. Đa số việc chỉnh sửa giao diện được khuyến cáo nên làm trên Child Themes để khi update themes thì không bị ảnh hưởng nhiều. Thử tưởng tượng nếu copy một file bất kỳ ở giao diện gốc sang giao diện con. Tất nhiên ta không cần copy hết toàn bộ file ở giao diện gốc sang giao diện con rồi.

Ví dụ content.php sang giao diện con nhé. Nếu dùng include hay require để chèn nội dung của file template-part/meta-header chẳng hạn, khi trong giao diện con không có sẽ báo lỗi ngay đúng khôgn. Nhưng nếu dùng get_template_part mà giao diện con không có nó sẽ fallback về giao diện cha mẹ để tìm và sẽ không gây lỗi.

Nếu bạn đang phát triển giao diện wordpress của riêng mình, bạn nên luôn sử dụng get_template_part() nếu có thể. Get template part của WordPress là hàm cực kỳ mạnh mẽ và có giá trị để xây dựng và phát triển Theme WordPress. Bạn sẽ thấy nó xuất hiện trong hầu như toàn bộ các giao diện mà bạn cố gắng chỉnh sửa.

Hy vọng với những thông tin bên trên đã đủ để các bạn hiểu về cách hoạt động cũng như cách sử dụng của hàm get_template_part().

Nếu muốn tìm hiểu thêm về hàm này, các bạn có thể tham khảo trên trang WordPress dành cho Developer tại đây

3.7/5 - (4 bình chọn)
Wordpress
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
Previous ArticleHướng dẫn sử dụng hàm get_the_date trong WordPress
Next Article Cách sử dụng thước đo (ruler) trong Photoshop
Huy Hoa
  • Website

Related Posts

Đánh giá 10 phần mềm SEO AI tốt nhất hiện nay

Hướng dẫn 2 cách xóa phông nền ảnh Online không cần Photoshop

Cách làm mịn da mặt bằng Photoshop mà vẫn giữ được lỗ chân lông

20 công cụ tách nền ảnh tốt nhất và hoàn toàn miễn phí

Cách hiển thị Category trong WordPress sử dụng get category với get_categories()

Hướng dẫn cài đặt, sử dụng, cấu hình Contact Form 7 đầy đủ nhất

Hướng dẫn sử dụng Cloudflare DNS, Cloudflare CDN và bảo mật từ A-Z

get_the_post_thumbnail_url – Get the post thumbnail URL with example

Hướng dẫn sử dụng wp_insert_user có ví dụ cụ thể

Leave A Reply Cancel Reply

Search
SEO - Marketing

get_the_post_thumbnail_url – Get the post thumbnail URL with example

get_the_post_thumbnail_url là hàm dùng để lấy đường dẫn file ảnh đại diện (post thumbnail) của bài viết. Trong Wordpress, hình đại diện của bài viết…

Hàm get_posts() WordPress: Cách sử dụng và ví dụ cụ thể

Cách dùng hàm get_post() trong WordPress để lấy dữ liệu bài viết

Hướng dẫn sử dụng hàm get_terms trong WordPress

Hướng dẫn sử dụng các hàm esc_html_e(), esc_html__(), esc_html() trong WordPress

Hàm get_post_meta() WordPress: Cách sử dụng và ví dụ cụ thể

Hướng dẫn sử dụng hàm get_the_date trong WordPress

Thiết kế Web - Đồ Họa

Đánh giá 10 phần mềm SEO AI tốt nhất hiện nay

Biết một chút về SEO là điều bắt buộc đối với bất kỳ chủ sở hữu trang web nào trong thời đại ngày nay. Tối ưu…

Hàm get_posts() WordPress: Cách sử dụng và ví dụ cụ thể

Hướng dẫn sử dụng hàm get_the_date trong WordPress

Hướng dẫn sử dụng hàm get_terms trong WordPress

Cách dùng hàm get_post() trong WordPress để lấy dữ liệu bài viết

Cách làm mịn da mặt bằng Photoshop mà vẫn giữ được lỗ chân lông

Giải mã MD5 được không? Những website dịch ngược mã MD5 online tốt nhất

Wordpress - Woocommerce

Hướng dẫn cài đặt, sử dụng, cấu hình Contact Form 7 đầy đủ nhất

Contact Form 7 có lẽ không quá xa lạ với các bạn dùng Wordpress. Đây là plugin tạo form cho wordpress số 1 hiện nay…

WP_Query: Tất cả những thông tin bạn cần biết

Download bộ Font chữ viết tay đẹp nhất hiện nay

Hướng dẫn sử dụng hàm get_terms trong WordPress

Hàm get_template_part(): Cách sử dụng và ví dụ cụ thể

Hàm get_posts() WordPress: Cách sử dụng và ví dụ cụ thể

Hướng dẫn sử dụng wp_insert_user có ví dụ cụ thể

Bài viết mới

Nước vo gạo và những công dụng tuyệt vời mà bạn chưa biết

21 Serum HA tốt nhất hiện nay cho da khô, da dầu nhờn và trị mụn

15 cách làm trắng răng tại nhà cực kỳ hiệu quả và dễ áp dụng

50+ website tải Sound Effects chất lượng cao miễn phí và có phí

Đánh giá 10 phần mềm SEO AI tốt nhất hiện nay

Hướng dẫn 2 cách xóa phông nền ảnh Online không cần Photoshop

Cách làm mịn da mặt bằng Photoshop mà vẫn giữ được lỗ chân lông

20 công cụ tách nền ảnh tốt nhất và hoàn toàn miễn phí

Sự khác nhau giữa Collagen và Axit Hyaluronic

Tác dụng cấp ẩm của Axit Hyaluronic cho làn da tươi trẻ, không nếp nhăn

© 2023 All Rights Reserved  by  HuyHoa.Net. DMCA.com Protection Status .
Hosted by Dreamhost. Follow us on  Google News.
  • Giới thiệu
  • Bảo mật
  • Quy định sử dụng
  • Liên hệ

Type above and press Enter to search. Press Esc to cancel.