vnfaster@gmail.com

Tạo giao diện khác nhau cho từng Category trong WordPress

Tạo giao diện khác nhau cho từng Category trong WordPress thật đơn giản cho các bạn đang tìm hiểu tự custom template.

Chào các Bạn,

Mới đây mình nhận được một câu hỏi là làm thế nào để Tạo giao diện khác nhau cho từng Category trong WordPress. Phần này thực tế cũng khá dễ, vậy nên trong bài này mình sẽ giúp các bạn giải quyết 2 vấn đề :

  • Tạo giao diện khác nhau cho từng Category
  • Làm cho giao diện của Category Con tự giống với giao diện Category Cha

tao-giao-dien-khac-nhau-cho-tung-category-wordpress-vnkings

Tạo giao diện khác nhau cho từng Category:
Trong phần này WordPress đã hỗ trợ sẵn cho bạn. bạn có thể tạo File category.php theo ID hoặc Slug riêng cho Category đó.
Ví dụ :
– Theo ID: Bạn sẽ tạo 1 file là : category-id.php(category-1.php,category-2.php,category-3.php, …)
– Theo Slug: file category sẽ có dạng: category-slug.php(category-tin-tuc.php, category-du-an.php)
sau đó chúng ta tự thay code hiển thị riêng cho Category này.

Làm cho giao diện của Category Con tự giống với giao diện Category Cha:
Hãy xét nếu Website WordPress của bạn có cấu trúc danh mục như bên dưới
– Tin tức (category-tin-tuc.php)
— Tin mới
— Tin hot

– Dự án (category-du-an.php)
— Dự án trong Nước
— Dự án nước ngoài

Vậy làm sao để các Danh Mục Con Tự động lấy Template của Danh Mục Cha, bây giờ ta cần thêm đoạn code bên dưới vào file Functions.php là được.

function wp_category_template() {
$category = get_queried_object();
$parent_id = $category->category_parent;
$templates = array();
if ( $parent_id == 0 ) {
$templates[] = "category-{$category->slug}.php";
$templates[] = "category-{$category->term_id}.php";
$templates[] = 'category.php';
} else {
$parent = get_category( $parent_id );
$templates[] = "category-{$category->slug}.php";
$templates[] = "category-{$category->term_id}.php";
$templates[] = "category-{$parent->slug}.php";
$templates[] = "category-{$parent->term_id}.php";
$templates[] = 'category.php';
}
return locate_template( $templates );
}
add_filter( 'category_template', 'wp_category_template' );

Đoạn code được tham khảo từ trang http://werdswords.com
Như vậy khi làm xong 2 bước trên, bạn đã giải quyết được vấn đề của mình rồi.

Các bạn cũng có thể tham khảo thêm chức năng tự tùy biếng single theo category nhé:
– Tự tùy biến trang Single theo Category trong WordPress

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

Bài liên quan

  1. Nếu muốn tùy chỉnh kích thước ảnh cho từng category trong WordPress thì có bài viết nào hướng dẫn không nhỉ ?
    Cảm ơn bạn trước!

  2. ví dụ mình có file php chứa nút download mình muốn nút đó chỉ hiện ở những bài viêt thược category 1,2,3 còn category 4,5 thì ko hiện thì mình làm thế nào admin

    • Chào bạn,
      bạn có thể dùng đoạn này để hiển thị nút download cho từng category bạn muốn:

      if( is_category(array(1,2,3)) ){
      // hiển thị nút Download ở đây
      }
      

Bình luận bài viết

Bạn có thể dùng các thẻ HTML này:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bình luận của bạn sẽ được hiển thị sau khi kiểm duyệt. Cảm ơn bạn đã để lại bình luận!.

Audio truyện full

phàm nhân tu tiên audio

vũ thần chúa tể audio

thế giới hoàn mỹ audio

vô thượng thần đế audio

vạn cổ thần de audio

tiên nghịch audio