Đoạn code bên dưới liệt kê tất cả danh mục con của một danh mục
1 2 3 4 5 6 7 |
$args = array('child_of' => 17); $categories = get_categories( $args ); foreach($categories as $category) { echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. $category->count . '</p>'; } |
Nếu bạn chỉ muốn liệt kê danh mục con thôi thì cùng đoạn code sau
1 2 3 4 5 6 7 |
$args = array('parent' => 17); $categories = get_categories( $args ); foreach($categories as $category) { echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. $category->count . '</p>'; } |
Liệt kê tất cả thư mục con và con của thư mục, danh sách bài viết con ta dùng đoạn code như sau
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
?> <ul> <?php $get_parent_cats = array( 'parent' => '24' //get top level categories only ); $all_categories = get_categories( $get_parent_cats );//get parent categories foreach( $all_categories as $single_category ){ //for each category, get the ID $catID = $single_category->cat_ID; echo '<li><a href=" ' . get_category_link( $catID ) . ' ">' . $single_category->name . '</a>'; //category name & link echo '<ul class="post-title">'; $query = new WP_Query( array( 'cat'=> $catID, 'posts_per_page'=>10 ) ); while( $query->have_posts() ):$query->the_post(); echo '<li><a href="'.get_the_permalink().'">'.get_the_title().'</a></li>'; endwhile; wp_reset_postdata(); echo '</ul>'; $get_children_cats = array( 'child_of' => $catID //get children of this parent using the catID variable from earlier ); $child_cats = get_categories( $get_children_cats );//get children of parent category echo '<ul class="children">'; foreach( $child_cats as $child_cat ){ //for each child category, get the ID $childID = $child_cat->cat_ID; //for each child category, give us the link and name echo '<a href=" ' . get_category_link( $childID ) . ' ">' . $child_cat->name . '</a>'; echo '<ul class="post-title">'; $query = new WP_Query( array( 'cat'=> $childID, 'posts_per_page'=>10 ) ); while( $query->have_posts() ):$query->the_post(); echo '<li><a href="'.get_the_permalink().'">'.get_the_title().'</a></li>'; endwhile; wp_reset_postdata(); echo '</ul>'; } echo '</ul></li>'; } //end of categories logic ?> </ul> <?php |