[Lập trình theme WordPress] Viết code cho single.php, page.php

Bài này thuộc phần 9 của 20 phần trong serie Lập trình theme WordPress

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 onetidc_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 đó.

laptrinhtheme-finish-singleThế coi như xong nhé.

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.

Leave your comment