Nếu các bạn đã sử dụng WordPress chắc hẳn đã biết qua các khái niệm phân loại nội dung như category và tag. Hai cái này người ta thường gọi chung là taxonomy. Vậy còn custom taxonomy là gì? Đơn giản nó sẽ giúp bạn tạo ra nhiều tùy chọn khác nhau về phân loại nội dung mới. Bài viết dưới đây mình sẽ giới thiệu đến bạn cách tạo ra một taxonomy để lưu trữ những thông tin bổ sung mà không cần phải lưu chung với danh mục(category) hoặc tag.
Tạo custom Taxonomy bằng code
Bước 1: Tìm hiểu cấu trúc hàm tạo Taxonomy trong WordPress
Taxonomy sử dụng hook init để móc một hàm chứa hàm register_taxonomy(). Với hàm register_taxonomy chúng ta có 2 thông số là $label và $arr, tương tự như tạo custom post type nhưng tạo Taxonomy thì dễ hơn nhiều. Cấu trúc hàm, và hook đầy đủ như sau:
function custom_taxonomy() {
$label = array(
);
$arr = array(
);
register_taxonomy('loai-san-pham', 'post', $arr);
}
add_action( 'init', 'custom_taxonomy');
Trong đó :
- Biến $label : Là biến sẽ lưu trữ tên của nhãn
- Biến $arr : là biến mảng chứa các tham số của Taxonomy.
- register_taxonomy() sẽ là hàm để đăng ký Taxonomy, có 3 tham số là slug, post type (bạn có thể đăng ký nó vào một loại post type khác chẳng hạn như page, hoặc custom post type,..), và các tham số trong biến $arr.
- Cuối cùng bạn sẽ móc hàm này vào hook action ‘init’.
Bước 2: Tạo một custom taxonomy đơn giản
function custom_taxonomy() {
/* Biến $label chứa các tham số thiết lập tên hiển thị của Taxonomy
*/
$labels = array(
'name' => 'Products',
'singular' => 'Products',
'menu_name' => 'Products'
);
/* Biến $args khai báo các tham số trong custom taxonomy cần tạo
*/
$args = array(
'labels' => $labels,
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
/* Hàm register_taxonomy để khởi tạo taxonomy
*/
register_taxonomy('loai-san-pham', 'post', $args);
}
// Hook into the 'init' action
add_action( 'init', 'custom_taxonomy', 0 );
Ở đây có một tham số ‘hierarchical’. Nếu bạn đặt tham số này là true thì taxonomy của bạn sẽ có thể phân cấp mẹ-con, giống category. Nhưng nếu bạn đặt tham số này là false thì taxonomy của bạn sẽ giống với tính năng tag.
Và đây là thành quả mà bạn sẽ nhận được:
Thế là xong rồi đấy. Bây giờ bạn vào đăng một post mới thì cũng sẽ có phần tạo các term trong custom taxonomy.
Đây là một cách để bạn tạo một custom Taxonomy WordPress thông qua code. Còn đối những bạn không chuyên về code hoặc muốn tìm cách tạo taxonomy đơn giản hơn thì phải làm sao nào? Hãy xem cách 2 của mình nhé, mình sẽ hướng dẫn các bạn tạo custom taxonomy bằng Plugin. Cách 2 này sẽ đơn giản hơn cho các bạn nhiều.
Tạo custom Taxonomy bằng cách sử dụng plugin MB Custom Taxonomy
Bước 1: Cài đặt và kích hoạt các plugin cần thiết
Trước khi bắt tay vào việc tạo một taxonomy theo ý bạn, bạn cần cài đặt và kích hoạt các plugin sau:
- Meta Box plugin (hay còn gọi là Meta Box Framework)
- MB Custom Taxonomy
Sau khi cài đặt và kích hoạt các plugin trên, bạn sẽ thấy một menu mới xuất hiện trong phần admin dashboard như ảnh dưới đây.
Bước 2: Tạo một taxonomy mới
Trong menu mới xuất hiện, bạn hãy nhấn vào tab Taxonomies nhé.
Hình 4. Giao diện chỉnh sửa thông tin cho taxonomy của bạn sẽ xuất hiện.
Bước 3: Điền thông tin cho Custom Taxonomy
Các bạn hãy điền đầy đủ các thông tin như trong hình nhé.
Ở đây, mình đang tạo một taxonomy tên là Menu Products và có phần slug là menu-products. Phần slug này sau này sẽ được sử dụng cho phần lấy dữ liệu ra ngoài.
Ở phần này các bạn lưu ý tại khu vực Generate Code sẽ có 2 mục mặc định tạo custom taxonomy trong lập trình theme WordPress. Các bạn cứ để như mặc định của nó và đừng thay đổi gì cả.
Tại khu vực Assign To Post Type, danh mục của bạn thuộc post type nào thì bạn tích chọn post type đó. Ở đây mình không có post type sản phẩm nên mình chọn mục post.
Bước 4: Lưu taxonomy lại và kiểm tra kết quả
Bạn hãy nhấn lưu taxonomy bạn vừa tạo.
Ngay sau khi bấm lưu taxonomy, bạn sẽ nhìn thấy phía dưới sẽ hiển thị một đoạn code được sinh ra tự động cho taxonomy mà bạn vừa tạo. Đoạn code này tương ứng với đúng đoạn code khi bạn code thủ công mà không cần dùng tới plugin.
Bây giờ, cùng xem thành quả nào:
Cách này thật đơn giản phải không nào! Bạn không cần phải biết nhiều về các thủ thuật code tạo custom taxonomy phức tạp mà vẫn có thể tự tạo cho mình những Custom Taxonomy theo ý muốn của mình một cách đơn giản và nhanh chóng.
Kết luận
Trong bài viết này, chúng ta đã có một cái nhìn tổng quan về cách tạo thêm một Custom Taxonomy mới thông qua code và plugin MB Custom Taxonomy. Hy vọng bài viết này sẽ có ích đối với các bạn! Nếu có bất kỳ thắc mắc hay ý kiến nào, thì bạn đừng ngần ngại mà hãy comment chia sẻ ý kiến phía dưới bài viết. Cảm ơn các bạn đã theo dõi bài viết của lethach.com, hẹn gặp lại các bạn trong các bài viết tiếp theo.
9 bình luận
Hey there 🙂
Your wordpress site is very sleek – hope you don’t
mind me asking what theme you’re using? (and don’t mind if I steal it?
:P)
I just launched my site –also built in wordpress like yours– but the
theme slows (!) the site down quite a bit.
In case you have a minute, you can find it by searching for “royal cbd” on Google (would
appreciate any feedback) – it’s still in the works.
Keep up the good work– and hope you all take care of yourself during the coronavirus scare!
Hi Justin,
My website use Soledad theme – Version 7.2.0.
You can search Soledad theme on Google for more information. I like your royalcbd website.
We are a group of volunteers and starting a new scheme in our community.
Your website offered us with valuable info to work on. You’ve done a formidable job and our entire community will be thankful
to you.
Thank you very much!
hay quá bạn ơi
Онлайн смотреть фильм Менталист смотреть в хорошем качестве онлайн Самый полный и актуальный список фильмов 2020 года
Смотрите http://bitly.com/37FyPBv – Дом2 выпуски свежих серий онлайн.
http://bitly.com/37FyPBv – dom 2.ru эфиры
Thank you very much!
Hope you will often visit my website.
Good article! Check out
cold vapor atomic absorptions spectroscopy, plastic packaging malaysia, and food packaging malaysia