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

Bạn đang có ý tưởng muốn thiết kế mỗi Category trong WordPress là một giao diện khác nhau để làm phong phú web của mình thì hôm nay chúng tôi hướng dẫn các làm được ý tưởng như vậy.

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’ );

Xem thêm: Share Full code Free website thiết kế thi công cửa kính, cửa nhôm, cơ khí

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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *