Loading Now

archive.php trong WordPress là gì? Cách hoạt động và tùy chỉnh

archive.php trong WordPress

Nếu bạn đang làm theme WordPress, chắc hẳn bạn từng nghe đến file archive.php. Đây là một trong những file quan trọng nhất trong hệ thống phân cấp template của WordPress, giúp bạn hiển thị danh sách bài viết theo danh mục, thẻ (tag), ngày, tác giả, hoặc bất kỳ taxonomy nào.

Trong bài viết này, bạn sẽ hiểu rõ:

  • archive.php là gì
  • Khi nào WordPress gọi file này
  • Cách tùy chỉnh giao diện archive
  • So sánh với các file như category.php, tag.php, author.php

archive.php là gì?

archive.phptemplate mặc định dùng để hiển thị các trang lưu trữ (archive) như:

  • Danh mục bài viết (category)
  • Thẻ (tag)
  • Tác giả (author)
  • Ngày tháng (date)
  • Custom post type archive
  • Custom taxonomy archive

🔗 Theo WordPress Template Hierarchy (outbound link), nếu không có category.php, tag.php, taxonomy.php, v.v… thì WordPress sẽ fallback về archive.php.


Khi nào WordPress sử dụng file archive.php?

WordPress sử dụng archive.php trong các trường hợp:

  • Truy cập vào URL dạng: yourdomain.com/category/tin-tuc
  • Xem các bài viết thuộc 1 thẻ cụ thể
  • Truy cập trang tác giả: yourdomain.com/author/nguyenminh
  • Truy cập archive của custom post type: yourdomain.com/san-pham/

Nếu theme không có archive.php, WordPress sẽ tiếp tục fallback về index.php.


Cấu trúc cơ bản của archive.php

<?php get_header(); ?>

<h1><?php the_archive_title(); ?></h1>
<p><?php the_archive_description(); ?></p>

<?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 the_posts_navigation(); ?>

<?php else : ?>
  <p>Không có bài viết nào.</p>
<?php endif; ?>

<?php get_footer(); ?>

Một số hàm quan trọng trong archive.php:

  • the_archive_title() – Tên danh mục, tác giả, post type, v.v.
  • the_archive_description() – Mô tả danh mục hoặc taxonomy
  • the_posts_navigation() – Hiển thị phân trang

archive.php khác gì so với category.php, tag.php?

FileDùng cho
category.phpChỉ cho trang danh mục (category)
tag.phpChỉ cho thẻ (tag)
author.phpTrang tác giả
taxonomy.phpCustom taxonomy
archive.phpFile tổng hợp – fallback cho tất cả

Tham khảo sơ đồ phân cấp chính thức: WordPress Template Hierarchy Diagram (outbound link)


Cách tùy chỉnh archive.php để đẹp hơn

  • Thêm thumbnail cho từng bài viết: the_post_thumbnail()
  • Hiển thị excerpt, ngày đăng, tác giả
  • Thêm class CSS khác nhau theo taxonomy với get_queried_object()
  • Tùy chỉnh tiêu đề riêng cho từng loại archive:
<?php
if ( is_category() ) {
    echo 'Danh mục: ' . single_cat_title('', false);
} elseif ( is_tag() ) {
    echo 'Thẻ: ' . single_tag_title('', false);
} elseif ( is_author() ) {
    echo 'Tác giả: ' . get_the_author();
}
?>

Kết luận

archive.php là một file linh hoạt và mạnh mẽ trong hệ thống template của WordPress. Việc tùy chỉnh tốt file này giúp bạn tạo trải nghiệm duyệt nội dung mượt mà, rõ ràng và đẹp mắt cho người dùng.

Nếu bạn đang học làm theme hoặc tối ưu SEO nội dung chuyên mục – đừng bỏ qua archive.php nhé.

Share this content:

Post Comment

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