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.
Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.
Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều
- Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
- Tino hosting
- iNet
- Nước ngoài thì Vultr
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é
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à
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:
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
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!
Tham khảo: http://wpquestions.com/question/showChrono/id/9333
- Bình luận