Loading Now

WordPress Template Hierarchy: Hướng dẫn chi tiết các Template File

Hierarchy

Hiểu về Single.php, Index.php và Các Template File trong WordPress

WordPress là một hệ quản trị nội dung (CMS) mạnh mẽ, cung cấp hệ thống template file giúp lập trình viên tùy chỉnh giao diện dễ dàng. Trong bài viết này, chúng ta sẽ tìm hiểu về các file quan trọng như single.php, index.php, page.php, archive.php và cách chúng hoạt động trong hệ thống WordPress.

1. Template Hierarchy trong WordPress

WordPress sử dụng hệ thống Template Hierarchy để xác định tệp nào sẽ được sử dụng để hiển thị nội dung. Khi người dùng truy cập một trang, WordPress sẽ kiểm tra thứ tự ưu tiên của template file theo sơ đồ sau:

index.php
├── front-page.php (Trang chủ)
├── home.php (Trang blog)
├── single.php (Bài viết đơn)
├── page.php (Trang tĩnh)
├── archive.php (Lưu trữ bài viết)
│   ├── category.php (Danh mục)
│   ├── tag.php (Thẻ)
│   ├── author.php (Tác giả)
│   ├── date.php (Theo ngày)
└── search.php (Trang tìm kiếm)
info-png WordPress Template Hierarchy: Hướng dẫn chi tiết các Template File
infographic

🔗 Tham khảo: Template Hierarchy trong WordPress

2. Giải thích các Template File chính

2.1. index.php – File Mặc Định Của WordPress

Tệp index.phpfile mặc định trong mọi theme WordPress. Nếu WordPress không tìm thấy template file nào phù hợp, nó sẽ fallback về index.php.

📌 Chức năng:

  • Hiển thị trang chủ nếu không có front-page.php hoặc home.php.
  • Hiển thị danh sách bài viết nếu không có archive.php.
  • Là file backup của toàn bộ theme.

Ví dụ về index.php:

<?php get_header(); ?>
<main>
    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <?php the_excerpt(); ?>
        <?php endwhile; ?>
    <?php else : ?>
        <p>Không có bài viết nào để hiển thị.</p>
    <?php endif; ?>
</main>
<?php get_footer(); ?>

🔗 Tham khảo: Cấu trúc template trong WordPress

2.2. single.php – Hiển Thị Bài Viết Đơn

Tệp single.php được sử dụng để hiển thị nội dung chi tiết của một bài viết. Khi người dùng nhấp vào một bài viết, WordPress sẽ tìm single.php để hiển thị nội dung.

Ví dụ về single.php:

<?php get_header(); ?>
<article>
    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <h1><?php the_title(); ?></h1>
            <p><?php the_content(); ?></p>
        <?php endwhile; ?>
    <?php else : ?>
        <p>Bài viết không tồn tại.</p>
    <?php endif; ?>
</article>
<?php get_footer(); ?>

🔗 Tìm hiểu thêm: Cách tùy chỉnh single.php

2.3. page.php – Hiển Thị Trang Tĩnh

Tệp page.php được sử dụng để hiển thị nội dung của các trang tĩnh (Page) như Giới thiệu, Liên hệ, Điều khoản.

📌 Khác biệt giữa single.phppage.php:

  • single.php hiển thị bài viết (Post).
  • page.php hiển thị trang tĩnh (Page).

Ví dụ về page.php:

<?php get_header(); ?>
<main>
    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <h1><?php the_title(); ?></h1>
            <p><?php the_content(); ?></p>
        <?php endwhile; ?>
    <?php else : ?>
        <p>Trang không tồn tại.</p>
    <?php endif; ?>
</main>
<?php get_footer(); ?>

2.4. archive.php – Hiển Thị Danh Mục Bài Viết

Tệp archive.php được sử dụng để hiển thị danh sách bài viết theo danh mục, thẻ, ngày tháng hoặc tác giả.

📌 Các biến thể của archive.php:

  • category.php – Hiển thị bài viết theo danh mục.
  • tag.php – Hiển thị bài viết theo thẻ.
  • author.php – Hiển thị bài viết của một tác giả.
  • date.php – Hiển thị bài viết theo ngày/tháng.

Ví dụ về archive.php:

<?php get_header(); ?>
<h1><?php single_cat_title(); ?></h1>
<ul>
    <?php if ( have_posts() ) : ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php endwhile; ?>
    <?php else : ?>
        <p>Không có bài viết nào trong danh mục này.</p>
    <?php endif; ?>
</ul>
<?php get_footer(); ?>

🔗 Tham khảo: Cách tạo archive.php trong WordPress

3. Tối ưu SEO cho Template File WordPress

Toi-Uu-SEO-Cho-Template-File-WordPress WordPress Template Hierarchy: Hướng dẫn chi tiết các Template File
Tối Ưu SEO Cho Template File WordPress

Thêm Meta Title và Meta Description

<head>
    <title><?php wp_title(); ?></title>
    <meta name="description" content="<?php the_excerpt(); ?>">
</head>

Thêm Breadcrumbs (Đường Dẫn Điều Hướng)

if (function_exists('yoast_breadcrumb')) {
    yoast_breadcrumb('<p id="breadcrumbs">', '</p>');
}

Sử dụng Outbound Link Chất Lượng

Tăng Tốc Độ Tải Trang

  • Dùng plugin cache như WP Super Cache.
  • Tối ưu ảnh bằng plugin Smush.
  • Dùng CDN để phân phối nội dung nhanh hơn.

Xem thêm

Hàm have_posts() trong WordPress

Share this content:

Post Comment

Bạn có thể đã bỏ qua