Tạo template Custom Single Post

Trong bài này, mình sẽ chia sẻ cho các bạn cách làm thế nào để có thể tạo ra được một template Custom Single Post cho từng bài viết, cho từng tác giả hay cho từng category riêng biệt trong WordPress.

Để có thể nắm được những hướng dẫn trong bài, yêu cầu bạn phải có các kiến thức cơ bản về HTML – CSS và hiểu về cách thức làm việc của theme WordPress.
Template Custom Single Post cho các bài viết khác nhau

Kỹ thuật này cho phép bạn tạo ra các template Custom Single Post và bạn có thể lựa chọn template cần sử dụng cho mỗi bài viết mà bạn đang viết. Để làm được việc này, bạn phải tải plugin Single Post Template về và thực hiện theo các hướng dẫn sau đây.

Tiếp theo, bạn tạo một file custom, ví dụ ở đây mình tạo một file tên là customsinglepost.php. Nội dung trong file này bạn có thể copy từ file single.php rồi thay đổi lại theo mong muốn của bạn, hoặc bạn cũng có thể tự tạo ra một thiết kế dành cho riêng bạn. Tuy nhiên, bạn nhớ phải thêm đoạn code sau vào đầu file mà bạn tạo ra:

<?php
/*
Single Post Template: [Mô tả tên template]
Mô tả: Phần này không bắt buộc nhưng giúp ích cho việc mô tả Post Template
*/
?>

Sau khi tạo xong template custom cho single post, bạn lưu template đó vào các file theme khác trong thư mục theme của bạn. Để xem plugin đã được kích hoạt hay chưa, bạn vào bảng quản trị WordPress thử viết một bài mới sẽ thấy một drop-down box cung cấp cho bạn các tùy chọn để bạn lựa chọn template mà bạn muốn cho bài viết.

Ghi chú: Nếu bạn không chọn bất kỳ template nào, nó sẽ tự động hiển thị template mặc định. Bạn có thể tạo nhiều template như ý muốn.

Có một plugin khác cũng thực hiện được công việc tương tự như trên, tên là Custom Post Template.

Phương pháp trên là lý tưởng để tạo template Custom Single Post cho từng bài viết. Nếu bạn muốn có một template hoàn toàn khác nhau cho từng category thì phương pháp trên có thể tự động hóa chỉ với một vài code trong file của bạn. Điều này sẽ giúp bạn tiết kiệm được thời gian phải đi chỉnh sửa và chọn template riêng cho từng bài, nhất là khi bạn có rất nhiều bài viết đã publish trong category đó. Các phương pháp tự động này được một trong những nhà lập trình theme WordPress nổi tiếng là Justin Tadlock chia sẻ.
Template Custom Single Post cho từng Category riêng biệtĐể sử dụng template single post riêng cho từng category, bạn thêm function sau đây vào file functions.php trong theme của bạn:

// Định nghĩa đường dẫn mặc định cho folder template single
define(SINGLE_PATH, TEMPLATEPATH . ‘/single’);

// Lọc single_template bằng custom function
add_filter(‘single_template’, ‘my_single_template’);

// Function template single chọn template
function my_single_template($single)
{
global $wp_query, $post;

// Kiểm tra template single theo category
// Kiểm tra category slug và ID
foreach((array)get_the_category() as $cat) :

if(file_exists(SINGLE_PATH . ‘/single-cat-‘ . $cat->slug . ‘.php’))
return SINGLE_PATH . ‘/single-cat-‘ . $cat->slug . ‘.php’;

else if(file_exists(SINGLE_PATH . ‘/single-cat-‘ . $cat->term_id . ‘.php’))
return SINGLE_PATH . ‘/single-cat-‘ . $cat->term_id . ‘.php’;

endforeach;
}

Đoạn code này sẽ báo cho các script để tìm kiếm các template như single-cat-uncategorized.php hoặc single-cat-1.php trong folder /single. Hãy chắn chắn rằng bạn lưu các file trong một folder duy nhất mà bạn sẽ tạo ra trong folder theme. Template Custom Single Post cho từng tác giả riêng biệt

Bạn đơn giản chỉ cần đặt code sau vào file functions.php và nó sẽ báo cho WordPress để tìm kiếm các template như single-author-admin.php hoặc single-author-1.php nếu nó không tìm thấy template trong folder /single của bạn.

// Định nghĩa đường dẫn mặc định cho folder template single
define(SINGLE_PATH, TEMPLATEPATH . ‘/single’);

// Lọc single_template bằng custom function
add_filter(‘single_template’, ‘my_single_template’);

// Function template single chọn template
function my_single_template($single)
{
global $wp_query, $post;

// Kiểm tra template single theo tác giả
// Kiểm tra user nicename và ID
$curauth = get_userdata($wp_query->post->post_author);

if(file_exists(SINGLE_PATH . ‘/single-author-‘ . $curauth->user_nicename . ‘.php’))
return SINGLE_PATH . ‘/single-author-‘ . $curauth->user_nicename . ‘.php’;

else if(file_exists(SINGLE_PATH . ‘/single-author-‘ . $curauth->ID . ‘.php’))
return SINGLE_PATH . ‘/single-author-‘ . $curauth->ID . ‘.php’;
}

Mình không thể chỉ rõ cho bạn từng cách tạo template Custom Single Post bởi vì việc này tùy thuộc vào bạn và những gì mà bạn muốn thực hiện. Lưu ý quan trọng là bạn phải lưu tất cả các template custom trong folder name/single và folder này phải được đặt trong thư mục theme của bạn.

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

Bài Viết Cùng Nội Dung

Thiết kế Biên Hòa Thiet ke Bien Hoa Thiet ke website Thiết kế website Thiết kế web Biên Hòa Thiet ke web Bien Hoa Thiết kế web Đồng Nai Thiet ke web Dong Nai Thiết kế web tại Biên Hòa Thiet ke web tai Bien Hoa Thiết kế web ở tại Đồng Nai Thiet ke web o tai Đồng Nai Công ty thiet ke website Bien Hoa Dich thiet ke web mien phi o Dong Nai Thiết kế Logo Thiet ke logo Thiết kế Biên Hòa Thiết kế Đồng Nai Thiet ke logo Bien Hoa Thiết kế logo Biên Hòa Thiết kế logo Đồng Nai Thiet ke logo Dong Nai Thiết kế logo Biên Hòa Thiết logo Biên Hòa Thiet ke logo Bien Hoa Thiet ke log Dong Nai Thiết kế logo

thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai thiết kế web biên hòa , thiết kế web đồng nai , thiet ke web bien hoa , thiet ke web dong nai