Nếu như ở các phần trước chúng ta đã viết code cho việc hiển thị nội dung ở ngoài trang chủ, thì ở phần này chúng ta sẽ code cho 2 file mà nó sẽ được load ra khi chúng ta xem chi tiết của trang đó. Đó chính là file single.php và page.php.
Single.php là file template cho việc hiển thị nội dung của một post type bất kỳ. Minh có mô hình như sau:
- Single.php
- Page.php
- Single-[post-type].php
Điều này có nghĩa là nếu file page.php và các file single của từng post type chưa có thì nó sẽ load file single.php ra.
Code cho single.php
Cấu trúc code file single.php hầu như không khác gì so với cấu trúc code của file index.php cả, do vậy bạn hãy copy nội dung file index.php vào single.php, rồi chúng ta chỉ cần sửa lại một xíu thôi.
Sau đó tìm và xóa đi:
<?php thachpham_pagination(); ?>
Bởi vì cái hàm kia là phân trang ngoài trang chủ và trang lưu trữ, để cũng được nhưng nó không có tác dụng trong single.php nên xóa đi cho gọn.
Tiếp tục bạn tìm đến đoạn gọi file content:
<?php get_template_part( ‘content’, get_post_format() ); ?>
Chèn thêm đoạn này vào dưới nó để hiển thị khung giới thiệu tác giả và danh sách các bình luận:
<?php get_template_part( ‘author-bio’ ); ?>
<?php comments_template(); ?>
Có nghĩa là chúng ta sẽ gọi file author-bio.php ra, nhưng mà file này chúng ta chưa có nên hãy tạo một file tên author-bio.php trong thư mục theme và viết các đoạn code dưới đây vào để làm cái khung tác giả.
<div class="entry-footer">
<div class="author-box">
<div class="autor-avatar">
<?php echo get_avatar( get_the_author_meta( ‘ID’ ) ); ?>
</div>
<h3><?php printf(‘Written by <a href="%1$s">%2$s</a>’,
get_author_posts_url( get_the_author_meta(‘ID’) ),
get_the_author() ); ?></h3>
<p><?php echo get_the_author_meta( ‘description’ ); ?></p>
</div>
</div>
Bây giờ thì bạn thử vào xem post sẽ thấy nó hiển thị đầy đủ comment, thông tin tác giả và thông tin chi tiết về post đó.
Code cho page.php
Page.php là để hiển thị thông tin chi tiết về các Page trong WordPress. Nó cũng giống phần single phần nào nên hãy copy nội dung file single.php bỏ vào page. Nếu bạn muốn không hiển thị khung bình luận ở page thì có thể xóa comment_template() đi là được.
Lời kết
Vậy là kể từ bài này thì khi bạn nhấp vào xem chi tiết các post hoặc page trên website thì nó đã hiển thị ra nội dung được bình thường rồi, do single template đã được khai báo và page template cũng đã được khai báo.
Tiếp tục ở bài sau, chúng ta sẽ xây dựng giao diện cho các trang lưu trữ như category, tag, archive,…để nó hiển thị khi nhấp vào xem các taxonomy.