Học WordPress + AI / WordPress cho người VIỆT !
WPShare247

Học wordpress cho người mới bắt đầu

  • Bắt đầu
    • Học WordPress
    • Elementor
    • WooCommerce
    • Tạo WordPress
    • Học WordPress kiểu mới 2025
    • Học PHP cơ bản
    • Tạo Website bằng WordPress
    • Quản trị WordPress
    • Sửa lỗi WordPress
    • Theme wordpress
    • Plugin WordPress
    • Hàm PHP
    • Seo WordPress
    • Bảo mật WordPress
    • Html & Css
    • Javascript và jQuery
    • Hướng dẫn lập trình
  • Video
    • Video TikTok
    • Video Shorts
  • Kho plugin
  • Tải Web Miễn Phí
  • Công cụ
    • Kiểm tra web WordPress
    • WordPress theme gì?
    • Check IP Website
    • Kiểm tra Tên Miền
    • Kiểm Tra SSL
    • Tạo File Disavow Google
    • Tạo QR Code
  • Giới thiệu
    • Khuyến Mãi
  • Đăng nhập
X
☰

Trang chủ » Code WordPress » Hướng dẫn cách sử dụng hàm get_template_part trong WordPress

📌 Mới: Bạn có thể 🧠 đặt câu hỏi cho AI về nội dung bài viết này ở cuối trang!

Hướng dẫn cách sử dụng hàm get_template_part trong WordPress

Xuất bản vào 21/11/2020 bởi Chinsu Man Xem: 11233
Shares
ChatGPT ChatGPT
Share
Share
Pin

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

Bài viết hướng dẫn có chứa CODE - Copy và sử dụng chúng sẽ tiện hơn cho bạn.

1. Hàm get_template_part là gì?

Có thể nói, tất cả các file trong theme wordpress đều được gọi là 1 template. Hàm get_template_part cho phép ta gọi bất kì template nào có trong theme. Mục đích chính của hàm này là gọi và hiển thị các đoạn mã HMTL trong website.

2. Cách dùng hàm get_template_part như thế nào?

<?php
get_template_part( string $slug, string $name = null, array $args = array() );
?>

2.1 Từ phiên bản wordpress 5.5

Từ phiên bản wp 5.5 về sau hàm get_template_part có 3 tham số, cụ thể:

🌱 Nếu thấy bài viết hữu ích, bạn có thể ủng hộ tác giả bằng cách nhấn vào quảng cáo bên dưới — như một donate miễn phí. Bạn không mất gì nhưng chúng tôi sẽ có thêm chi phí để duy trì và vận hành website. Cảm ơn bạn! 🙏

<?php 
$args['new_bg'] = 'new-bg'; // Kể từ wp5.5 trở về sau, sẽ có thêm biết $args là array
$args['is_circle'] = 'circle-style';
get_template_part( 'template-parts/content', 'loop', $args );
?>

Giải thích: Để hàm get_template_part trong đoạn code trên có kết quả, bạn cần phải có 1 folder template-parts ngay thư mục góc của theme như sau:

template-parts

Tiếp theo file template ở đây được tạo thành bởi dấu gạch ngang (-) như sau “content-loop.php“, bạn có thể xem hình bên dưới sẽ dễ hiểu hơn.

template-parts

Ví dụ, ta gọi get_template_part tại file theme/index.php như sau:

<?php
if ( have_posts() ) :
    /* Start the Loop */
    while ( have_posts() ) : the_post();
        $args['new_bg'] = 'new-bg'; // Kể từ wp5.5 trở về sau, sẽ có thêm biết $args là array 
        $args['is_circle'] = 'circle-style'; 
        get_template_part( 'template-parts/content', 'loop', $args );
    endwhile;
endif;
?>

Tiếp theo nội dung file: theme/template-parts/content-loop.php như sau:

<?php
$new_bg = $args['new_bg']; // lấy giá trị biến được truyền qua tham số $args của hàm get_template_part
$is_circle = $args['is_circle']; // lấy giá trị biến được truyền qua tham số $args của hàm get_template_part
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <div class="<?php echo $new_bg?> <?php echo $is_circle?>">
    	<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
    </div>
</article>

2.2 Phiên bản wordpress 5.4 trở về trước.

Chú ý từ phiên bản wp5.4 trở về trước ta sẽ không có biến $args nhé.

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

3. Tại sao phải dùng get_template_part?

Bạn có biết không, khi thiết kế web bằng wordpress bạn cần phải thao tác rất nhiều trên template. Tôi ví dụ cụ thể, trang chủ một website chuẩn phải có 3 phần rõ ràng: Header, Body và Footer. Vì thế trong wordpress bắt buộc ta phải sử dụng template header.php, index.php và footer.php.

Trong Header sẽ tiếp tục chia nhỏ Header thành: header-top, header-main…và header-nav. Nếu bạn chỉ dùng 1 file header.php mà làm tất cả mọi thứ, sẽ gặp chút rắc rối nếu tìm lỗi hoặc chuyển giao cho người phát triển kế thừa.

template-parts

Đây là một đoạn header.php chưa dùng hàm get_template_part

<!doctype html>
<html class="no-js" <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div id="page" class="site">
    <header id="masthead" class="site-header">
        <div class="top">
            <ul>
            	<li><a>Hotline: 0909123456</a></li>
                <li><a>Email: myemail</a></li>
            </ul>
        </div>
        <div class="main">
        	<img src="/image/logo.png" alt="logo"/>
            <img src="/image/baner.png" alt="banner"/>
        </div>
        <div class="nav">
            <ul>
            	<li><a href="/">Trang chủ</a></li>
                <li><a href="/">Giới thiệu</a></li>
                <li><a href="/">Sản phẩm</a></li>
                <li><a href="/">Tin tức</a></li>
                <li><a href="/">Liên hệ</a></li>
            </ul>
        </div>
    </header><!-- #masthead -->

Từ đoạn code trên ta sẽ tách thành 3 file header, cụ thể như sau:header-top.php, header-main.php, header-nav.php trong đường dẫn: template-parts/header/

template-parts

* Nội dung file header-top.php:

<div class="top">
  <ul>
    <li><a>Hotline: 0909123456</a></li>
    <li><a>Email: myemail</a></li>
  </ul>
</div>

* Nội dung file header-main.php:

<div class="main"> 
    <img src="/image/logo.png" alt="logo"/> 
    <img src="/image/baner.png" alt="banner"/> 
</div>

* Nội dung file header-top.php:

<div class="nav">
  <ul>
    <li><a href="/">Trang chủ</a></li>
    <li><a href="/">Giới thiệu</a></li>
    <li><a href="/">Sản phẩm</a></li>
    <li><a href="/">Tin tức</a></li>
    <li><a href="/">Liên hệ</a></li>
  </ul>
</div>

Và sau đây là nội dung file header.php dùng hàm get_template_part

<!doctype html>
<html class="no-js" <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<div id="page" class="site">
    <header id="masthead" class="site-header">
        <?php 
        get_template_part( 'template-parts/header/header', 'top', array() );
        get_template_part( 'template-parts/header/header', 'main', array() );
        get_template_part( 'template-parts/header/header', 'nav', array() );
        ?>
    </header><!-- #masthead -->

Rõ ràng khi dùng hàm get_template_part, code chúng ta gọn gàng hơn hẳn và khi lỗi xày ra chúng ta sẽ dễ dàng tìm kiếm hơn, bạn chỉ cần đóng lại bằng dấu // của php.

<?php 
   // get_template_part( 'template-parts/header/header', 'top', array() );
?>

4. Hàm get_template_part định nghĩa ở đâu?

Hàm get_template_part được định nghĩa trong file: code/wp-includes/general-template.php tại dòng 167

get_template_part

5. Mối quan hệ với hàm locate_template?

Nói về mối liên hệ giữa get_template_part  và locate_template, ta nhận thấy rõ ràng, get_template_part gọi lại từ hàm locate_template, cụ thể nếu bạn sử dụng như sau:

<?php
get_template_part( 'template-parts/header/header', 'top', array() );
?>

Ta có thể sử dụng bằng hàm locate_template như sau:

<?php 
$templates[] = 'template-parts/header/header-top.php';
locate_template( $templates, true, false, array() );
?>

Như vậy sau khi đọc qua bài viết này, tôi hi vọng sẽ giúp được bạn có một website bằng wordpress với theme chuẩn khi dùng get_template_part trong việc quản lí code của mình nhé!

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

❓ Hỏi AI về nội dung bài viết

Tóm tắt nội dung chính Gợi ý mục quan trọng Giải thích mục 1 rõ hơn Viết lại đoạn văn cho dễ hiểu Rút gọn văn bản mà vẫn đủ ý Thêm ví dụ minh hoạ cho đoạn 1 Lọc keyword từ khóa bài viết Lọc thuật ngữ Dịch bài viết sang: Tiếng Anh
Nếu bài viết chưa giải đáp hết thắc mắc của bạn, hãy hỏi WPSHARE247 AI – trợ lý thông minh sẵn sàng hỗ trợ ngay trong nội dung bài viết.

Bạn muốn tích hợp chức năng Hỏi AI trực tiếp dưới mỗi bài viết trên website? Hãy liên hệ dịch vụ thiết kế web tại Website366.com để được hỗ trợ triển khai nhanh chóng và chuyên nghiệp.

Shares
ChatGPT ChatGPT
Share
Share
Pin
← Bài cũ hơn → Bài tiếp theo
get_template_partlocate_templateLooptemplate
Bài viết liên quan
  • Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

    Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

  • Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

    Thử kết nối API trong WordPress cho người mới học code (cập nhật 2025)

  • Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

    Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

  • Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

    Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

Học thiết kế Web WordPress

Download WordPress

Tải bản WordPress mới nhất

Tiếng Việt: Tải WordPress Mới

Quốc tế: Tải WordPress Mới

Liên kế MXH của WPShare247

Tìm thấy những kiến thức mới từ WPShare247

Giảm 50% Hosting

Xem chi tiết giảm giá 50% gói lưu trự Hosting tại đây => Link giảm 50%

Cách tạo Web bán hàng Bằng Flatsome

https://www.youtube.com/watch?v=gnT8Dn_KiXU

Video Tiktok mới nhất

@hocwordpress SSL bằng Plug-in Wordpress Really Simple SSL giúp bảo mật đúng cách hơn, tránh tình trạng bảo mật ảo HTTPS #wpshare247 #wordpress #plugin #ssl #https ♬ nhạc nền - Học WordPress - WPSHARE247.COM

Cách tạo Website WordPress 2025

https://www.youtube.com/watch?v=HtbtsH8q-KU

Bộ WIDGETS WS247 Đa Năng

Giúp bạn Thiết kế Website WordPress giống mẫu 99% trong thời gian ngắn nhất (Có bản nâng cấp mới V2). Download tại đây

 

Xem chi tiết tại đây  https://wpshare247.com/chia-se-bo-field-widget-giup-ban-thiet-ke-website-wordpress-nhanh-hon

MUA HOSTING – TẶNG BUỔI HỌC WP

Tặng 03 buổi (Mỗi buổi 30 phút) hỗ trợ miễn phí, tất cả các chuyên đề nào về học thiết kế website bằng WordPress khi mua Hosting và Tên miền => tại đây [ Có thể liên hệ bất cứ giờ nào để hỗ trợ học WP ]

Tôi đang cần...
Cách làm blog Plugin Wordpress Bảo mật Wordpress Seo với Wordpress Lỗi Wordpress WooCommerce

MUA HOSTING – TẶNG BUỔI HỌC WP

Chủ đề

  • Code WordPress
  • Hàm WordPress
  • Hướng dẫn WordPress
  • Theme wordpress
  • WooCommerce
  • Seo WordPress
  • Html & Css
  • Javascript và jQuery
  • Plugin WordPress
  • Hướng dẫn lập trình

Tag

add_action (2) add_filter (2) admin code (2) alt (2) Block Theme (2) cart (4) Contact Form 7 (8) css (4) custom post type (2) cài wordpress (2) danh mục sản phẩm (2) elementor (2) elementor free (2) filter (2) flatsome (2) functions.php (2) google font (2) hosting (2) html css (2) hướng dẫn dùng plugin (4) học wordpress (7) javascript (5) jquery (3) localhost (2) Loop (2) mysql (4) ngôn ngữ (2) phpmyadmin (3) plugin (4) plugin wordpress (2) Product (4) SMTP (2) Sản phẩm (3) Template page (2) theme option (2) Theme Wordpress (3) widget (2) woocommerce (25) wordpress (5) WordPress 2025 (2) wp-config (2) wp_enqueue_scripts (2) WP_Query (6) xampp (4) Yoast SEO (2)
Về WPShare247

Học wordpress cho người mới bắt đầu.

WPShare247 là blog chia sẻ các kiến thức về WordPress, sửa chữa lỗi wordpress, giới thiệu theme và plugin wordpress mới nhất. Đào tạo khóa học thiết kế Website bằng WordPress.

Menu
  • Trang chủ
  • Giới thiệu
  • Blog
  • Plugin WordPress
  • Liên hệ
Chủ đề wordpress
  • Sửa lỗi WordPress
  • Plugin WordPress
  • Theme wordpress
  • Seo WordPress
  • WooCommerce

Copyright © 2025 WPSHARE247. All Rights Reserved.
Một sản phẩm của WEB 366

  • Thiết kế web bởi Website366.com
  • Thiết kế website chuyên nghiệp TBAY.VN
  • Thiết kế website bán hàng