Qua bài viết get all term by level chúng ta cũng có thể lấy được các category ở các level khác nhau. Hôm nay chúng ta thêm 1 hàm nữa. Hàm này giúp chúng ta lấy toàn bộ category theo các cấp độ level và theo parent nữa.
Hàm hiển thị category theo level
Các bạn chèn đoạn code sau vào file functions.php trong theme của bạn nhé
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| function get_level( $category , $level = 0) { if ( $category ->category_parent == 0) { return $level ; } else { $level ++; $category = get_category( $category ->category_parent); return get_level( $category , $level ); } } function display_cat_level( $level = 0 , $link = false, $parent = NULL){ $catArgs = array ( 'hide_empty' => 0); if ( $parent != NULL ){ $catArgs [ 'child_of' ] = $parent ; } $cats = get_categories( $catArgs ); if ( $cats ){ foreach ( $cats as $cat ){ $current_cat_level = get_level( $cat ); if ( $current_cat_level == $level ){ if ( $link ==true) { echo '<a href="' .get_category_link( $cat ->cat_ID). '">' . $cat ->name. "</a><br />" ; } else { echo $cat ->name. "<br />" ; } } } } } |
Sau đó muốn hiển thị ở đâu thì dùng hàm display_cat_level(<level>,true/false,<parent_ID>);
Ví dụ: như hình trên ta muốn hiển thị level 0 thì sẽ là
1
| display_cat_level(0,true); //True nếu muốn có link, false không có link |
Muốn hiển thị level 1 thì thế này:
1
| display_cat_level(1,true); //True nếu muốn có link, false không có link |
Muốn hiển thị level 2 của cat có ID 3 thì thế này
1
| display_cat_level(2,true,3); //True nếu muốn có link, false không có link |
Chúc các bạn thành công!
Không có nhận xét nào:
Đăng nhận xét