Custom Taxonomy trong WordPress toàn tập
Ở bài trước tôi đã hướng dẫn bạn cách Custom Post Type trong WordPress. Tuy nhiên, đó là về phần nội dung, còn nếu bạn muốn tạo thêm phân loại mà không muốn dùng chung với Categories hay Tags thì bạn nên đọc bài viết này.
Trong bài viết này, tôi sẽ hướng dẫn bạn từng bước Custom Taxonomy trong WordPress.
Cũng giống như Post Type, Taxonomy cũng có thể tạo bằng Code hoặc Plugin. Tôi sẽ hướng dẫn bạn 2 cách đó.
Custom Taxonomy bằng cách sử dụng Code
Với các này, bạn sẽ viết code vào trong file functions.php
của theme mà bạn đang sử dụng. Đây là cách mà tôi hay sử dụng bởi vì tôi đễ dàng kiểm soát và chỉnh sửa theo ý.
Để Custom Taxonomy bạn hãy thêm đoạn code sau vào file functions.php
của theme bạn đang sử dụng:
<?php function create_taxonomy_product_cat() { $labels = array( 'name' => 'Danh mục sản phẩm', 'singular' => 'Danh mục sản phẩm', 'menu_name' => 'Danh mục sản phẩm' ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'public' => true, 'show_ui' => true, 'show_admin_column' => true, 'show_in_nav_menus' => true, 'show_tagcloud' => true, 'rewrite' => array( 'slug' => 'danh-muc-san-pham' ), ); register_taxonomy('product_cat', 'products', $args); } // Hook into the 'init' action add_action( 'init', 'create_taxonomy_product_cat', 0 ); ?>
Bạn sẽ thấy các tham số cũng tương tự Post Type, tuy nhiên sẽ ít hơn.
Ý nghĩa các tham số:
- hierarchical: Cho phép phân cấp, nếu giá trị là true sẽ cho phép phân cấp như chuyên mục, nếu giá trị là false sẽ không phân cấp như tag
- rewrite: Viết lại đường dẫn cho Taxonomy
register_taxonomy('product_cat', 'products', $args)
: Tạo Taxonomy có slug là product_cat và liên kết với Post Type có slug là products
Custom Taxonomy sử dụng plugin Custom Post Type UI
Việc này rất đơn giản, bạn chỉ cần cài plugin Custom Post Type UI và kích hoạt. Sau đó bạn truy cập: CPT UI » Add/Edit Taxonomies và nhập đầy đủ thông tin về Taxonomy cần tạo
Kết luận
Trên đây, tôi hướng dẫn bạn 2 cách để Custom Taxonomy, còn việc query và hiện thị Taxonomy như thế nào tôi xin phép chuyển qua 1 bài viết khác để nói kỹ hơn.
Chúc các bạn thành công!