![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 10.01.2011 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
W moim stylu podkategorie wraz z ich podkategoriami wyświetlają się w jednym ciągu, stąd trudno odróżnić jedno od drugiego. Oto adres mojej stronki: http://www.lex-ratio.pl/?page_id=12 "Ustawy" to kategoria główna, "Dziennik Ustaw" to podkategoria a "2013" to podkategoria podkategorii "Dziennik Ustaw". Chciałbym zrobić coś takiego gdzie po kliknięciu na podkategorię "Dziennik Ustaw" wyświetli mi się rozwijana lista z podkategoriami podkategorii czyli np. "2013" itp. Oto kod stronki odpowiedzialny za wyświetlanie kategorii: Kod <?php /* Template Name: Knowledge Base */ /** * Return the total no of unique post in terms/Categories * * @global type $wpdb * @param array $term_id * @return type */ function get_total_cat_count($term_id = array()){ global $wpdb; $result['A'] = 0; $qry['A'] = " SELECT DISTINCT(B.object_id) FROM {$wpdb->term_taxonomy} A , {$wpdb->term_relationships} B "; $qry['A'] .= " WHERE A.term_taxonomy_id=B.term_taxonomy_id AND A.term_id IN (" . implode(",",$term_id) . ")"; $result['A'] = $wpdb->get_results($qry['A']); return count($result['A']); } $categories = get_categories(array( 'orderby' => 'slug', 'order' => 'ASC', 'hierarchical' => true, 'parent' => 0, 'hide_empty' => false, )); $i = 0; $skip = TRUE; foreach($categories as $category) { if($i++%3==0 && $skip){ ?> <div class="row knowledge-base"> <?PHP } $skip = TRUE; $term_id = array(); $term_id[] = $category->term_id; $sub_categories = get_categories(array( 'orderby' => 'name', 'order' => 'ASC', 'child_of' => $category->cat_ID, 'hide_empty' => 0, )); $cat_posts = get_posts(array( 'numberposts' => -1, 'category__and' => $category->term_id, )); if(count($sub_categories)==0 && count($cat_posts)==0){ $i--; $skip = FALSE; continue; } ?> <div class="span3"> <h2> <a href="<?PHP echo get_category_link($category->term_id); ?>" title="<?PHP echo $category->name; ?>"> <?PHP echo $category->name; ?> </a> </h2> <?PHP foreach($sub_categories as $sub_category) { $term_id[] = $sub_category->term_id; ?> <ul class="sub-categories"> <li><i class="icon-folder-close"></i> <a href="<?PHP echo get_category_link( $sub_category->term_id ) ?>" title="<?PHP echo $sub_category->name; ?>"> <?PHP echo $sub_category->name; ?> </a> </li> </ul> <?PHP } if(count($cat_posts)>0){ ?> <ul class="category-posts"> <?PHP $j = 1; $cat_post_num = gt_get_option('kb_aticles_per_cat'); foreach($cat_posts as $post){ setup_postdata($post); switch(get_post_format()){ case 'video': $post_icon = 'icon-film'; break; case 'image': $post_icon = 'icon-picture'; break; default: $post_icon = 'icon-file-alt'; break; } ?> <li><i class="<?php echo $post_icon; ?>"></i><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li> <?PHP if($j++==$cat_post_num) break; } ?> </ul> <?PHP } ?> <span class="label label-color"> <a href="<?PHP echo get_category_link( $category->term_id ) ?>" > View all <?PHP echo get_total_cat_count($term_id); ?> articles <i class="icon-chevron-right"></i> </a> </span> </div> <?PHP if($i%3==0){ ?> </div> <?PHP } } if($i%3!=0){ echo "</div>"; } ?> Bardzo proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ty to pisałeś? Na każdy wpis robisz oddzilene UL z jednym LI.... No jak tak można?
Ma być jedno UL a w nim tyle LI ile jest kategori. A jeśli jakaś kategoria ma podkategorie, to masz utworzyć w tym LI kolejne UL a w nim tyle LI ile jest podkategorii. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:52 |