Hiển thị toàn bộ category theo level của category

Cập nhật lần cuối 06/01/2015 by trong WordPress vào 02/01/2015 có 625 Views

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.

Hiển thị toàn bộ category theo level của category

 

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

Hiển thị toàn bộ category theo level của category
1.3 (25.87%) 92 votes
  • Bình luận
Hosting nên dùng cho WordPress tại Việt Nam
Có thể bạn quan tâm
x