Hướng dẫn tạo Archive Page (trang lưu trữ) trong WordPress

Mỗi website hoặc blog cá nhân đều có diện tích sidebar riêng được sử dụng để hiển thị các bài viết trước đó để cho người đọc có thể biết rõ những gì bạn đã viết một vài ngày trước và kiểm tra nội dung của bạn dễ dàng. Tuy nhiên, phần này chỉ có thể hiển thị một phần nhỏ của tất cả các kết quả đầu ra của bạn, như 8 bài viết hoặc 10 bài viết, nếu bạn đã tạo ra rất nhiều bài viết cho trang web. Trong trường hợp này, làm thế nào người đọc có thể tìm thấy nội dung cũ của bạn?

Để đối phó với tình hình này cần phải có một WordPress archive page (trang lưu trữ). Đây là một trang đơn có chứa các liên kết trực tiếp đến tất cả các bài viết của bạn, cho phép khách truy cập duyệt website của bạn thông qua một cổng cụ thể.

archive-page

Trong phần này, mình sẽ hướng dẫn chi tiết cho các bạn cách tạo ra một trang web như vậy rất dễ dàng, ngay cả người mới bắt đầu cũng có thể làm được sau khi xem hướng dẫn.

Tạo Archive Page

Trước hết, bạn cần tạo một trang web riêng biệt từ bảng quản trị WordPress của bạn, sau đó chỉ định nó là một trang lưu trữ.

Trong sidebar bên trái của bảng quản trị, bạn chọn Pages và nhấp vào nút Add New tạo một trang mới để lưu trữ.

create-new-page

Bạn có thể đặt tên cho trang này là gì tùy thích nhưng mình khuyên bạn nên đưa ra một tiêu đề phù hợp như Archive Page – Trang Lưu Trữ. Một tên chuẩn có thể giúp bạn dễ dàng quản lý, thay đổi và tùy chỉnh các trang web.

Tạo Archive Template

Bây giờ, bạn cần một template đơn giản cho trang lưu trữ của bạn. Giao diện mặc định của WordPress phiên bản 3.0 và hơn nữa đã có template này. Nếu bạn không tìm thấy nó trong thư mục theme của bạn, bạn sẽ phải tạo nó một cách thủ công.

Để làm điều này, bạn có thể mở một file mới, đặt tên như archives.php và tải nó vào folder WordPress của bạn. Sau đó, thêm dòng code được ghi dưới đây và lưu file lại. Để phù hợp với thiết kế của theme hiện tại của bạn, bạn sẽ điều chỉnh tốt hơn cấu trúc HTML và copy code của file page.php của bạn vào file này.

<?php
/*
Template Name: Archives
*/
get_header(); ?>

<div id="container">
     <div id="content" role="main">

          <?php the_post(); ?>
          <h1><?php the_title(); ?></h1>

          <?php get_search_form(); ?>

          <h2>Archives by Month:</h2>
          <ul>
               <?php wp_get_archives('type=monthly'); ?>
          </ul>

          <h2>Archives by Subject:</h2>
          <ul>
               <?php wp_list_categories(); ?>
          </ul>
     </div><!-- #content -->
</div><!-- #container -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Đặt Template vào Archive Page

Bây giờ, bạn quay trở lại dashboard WordPress của bạn, trong trang lưu trữ mới được xây dựng của bạn có một tùy chọn được gọi là Page Attributes được đặt ở bên phải màn hình, bạn click vào danh mục của Template và chọn Archives như mẫu. Sau đó lưu các thiết lập lại và publish trang.

archive-template

Các tùy chọn nâng cao

Nếu bạn muốn hiển thị bài viết của mình theo cách khác, không chỉ là danh sách theo tháng, bạn có thể sử dụng wp_get_archives template tag. Xem code cần thiết dưới đây.

  • Hiển thị tài liệu lưu trữ theo thứ tự abc
<?php wp_get_archives('type=alpha'); ?>
  • Hiển thị tài liệu lưu trữ theo năm
<?php wp_get_archives('type=yearly'); ?>
  • Hiển thị tài liệu lưu trữ theo tháng
<?php wp_get_archives(array('type'=('monthly', 'limit'=>12)); ?>
  • Hiển thị tài liệu lưu trữ theo ngày
<?php wp_get_archives(array('type'=>'daily', 'limit'=>15)); ?>

Trong trường hợp có rất nhiều tác giả viết bài cho trang web của bạn, bạn cũng có thể thêm một kho lưu trữ tác giả bằng cách thêm các dòng code sau vào file archives.php.

<h2>Archives by Subject:</h2>
<ul>
     <?php wp_list_author(); ?>
</ul>

Bạn cũng có thể sử dụng một số plugin WordPress thân thiện để làm việc này, chẳng hạn như plugin Clean My Archives, Compact ArchivesArchives, đơn giản chỉ cần tải một trong số những plugin này về và cài đặt vào trang web của bạn.

Chúc bạn thành công.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

×