Hướng dẫn dùng single.php example trong PHP

Hướng dẫn dùng single.php example trong PHP

WordPress cung cấp cho chúng ta 2 template file là single.php và page.php để hiển thị nội dung bài viết và trang đơn. Trong bài học này, chúng ta sẽ tìm hiểu về cách hiển thị nội dung bài viết trong single.php nhé.

  • Video Hiển thị nội dung bài viết trong single.php
  • Hướng dẫn chi tiết
    • Template file single-{post-type}.php
    • Đối với single.php của theme goclamweb
  • Tài liệu WordPress

Video Hiển thị nội dung bài viết trong single.php

Hướng dẫn chi tiết

"Thăm ngàn, kẹp ngần nhưng vẫn không đủ chai ni (trả nợ)" nên dành vài dòng cho QUẢNG CÁO

Các bạn cần hosting PHP - WordPress nhanh, rẻ và dễ sử dụng có thể chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn đăng ký hosting từ link quảng cáo, mình sẽ có một ít tiền để duy trì và "chai ni".

Template file single-{post-type}.php

Tạo file single-{post-type}.php nằm trong thư mục chính của theme goclamweb. Đây là file hiển thị nội dung bài viết. post-type ở đây chính là dạng bài viết của các bạn. Mặc định WordPress sẽ tự hiểu 2 template file tương ứng với 2 dạng bài viết cơ bản:

  • single.php: hiển thị nội dung của post/bài viết
  • page.php: hiển thị nội dung trang đơn

Đối với custom post type (những dạng bài viết do bạn tự tạo ra), WordPress sẽ tìm đến file single-{post-type}.php để hiển thị nội dung. Ví dụ, bạn tự tạo 1 post type là music thì template file để hiển thị bài viết chi tiết cho post type music sẽ có dạng single-music.php

Đối với single.php của theme goclamweb

"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo"

Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé.
Link đăng ký: NHẬN NGAY ƯU ĐÃI
Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn

Các bạn copy toàn bộ code trong index.php và dán vào single.php. Sau đó các bạn điều chỉnh lại một chút. Đầu tiên, các bạn đổi class của thẻ section từ blog-area thành blog-details nhé.

Vẫn giữ nguyên vòng lặp, tuy nhiên template part sẽ có sự thay đổi. Các bạn tạo cho mình 1 file content.php nằm trong thư mục partials. Vòng lặp ở file single.php có dạng

if(have_posts(  )):
  while(have_posts(  )):
     the_post(  );
     get_template_part( 'partials/content');
  endwhile;
endif;

Giống như get_template_part ở trang chủ, WordPress sẽ vào thư mục partials, tìm đến file có dạng content-xxx.php. Tuy nhiên, do chúng ta đã bỏ trống xxx nên WordPress sẽ chọn file content.php.

Chúng ta có nội dung bài viết trong file content.php như sau.

get_post_meta( get_post_thumbnail_id(get_the_ID()), '_wp_attachment_image_alt', true) ) ); ?>





roles[0]; ?>

Phần tác giả, chúng ta sẽ hiển thị một số thông tin như avatar, tên và phân quyền của tác giả trên trang.

roles[0]; ?>

Phần bình luận chúng ta tạm thời sử dụng bình luận mặc định của WordPress nhé.

if(comments_open( ) || get_comments_number( )){
    comments_template( );
}

Phần bài viết liên quan tạm thời chưa dùng đến, mình sẽ hướng dẫn ở những bài sau nhé. Ngoài ra, mình có làm thêm 2 phần là hiển thị danh sách chuyên mục và thẻ của bài viết.

Phần chuyên mục mình copy wdiget nằm trong sidebar (template html) để sử dụng lại



Phần phân trang, chúng ta sẽ đổi từ phân trang danh sách bài viết sang phân trang bên trong bài viết. Đối với phần phân trang này, chúng ta sẽ dùng mặc định của WordPress. Mình cũng cung cấp hàm để custom phần phân trang. Cách làm hoàn toàn tương tự, khác đôi chút và các hàm nhưng về ý tưởng tổng thể thì vẫn giống. Vậy nên mình chỉ để lại code mẫu mà không hướng dẫn chi tiết nhé.

if(!function_exists('glw_page_links')){
	function glw_page_links( )
	{
		global $page;
		echo '';
	}
}

Tài liệu WordPress

Link tài liệu chính chủ WordPress về các hàm đã dùng trong bài học nếu muốn tìm hiểu sâu hơn

  • wp_link_pages
  • Template file
  • Template tag
  • get_template_part

Code hoàn thành của bài học: Google Drive

Nếu có thắc mắc, đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.

Đừng quên LikeShare nếu thấy bài viết thú vị.

Liên hệ

Hướng dẫn dùng single.php example trong PHP