Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Rozwijana lista podkategorii - Wordpress
#1
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.
Odpowiedz


Wiadomości w tym wątku
Rozwijana lista podkategorii - Wordpress - przez mat2224 - 07-05-2013, 21:49

Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  dziwny problem z listą w operze nst 3 3,624 21-12-2018, 17:35
Ostatni post: Kohe
  Problem z wyglądem posta - wordpress Simisti 0 1,961 29-05-2017, 01:23
Ostatni post: Simisti
  wordpress-zabezpieczenia Alameida 3 4,086 29-04-2016, 18:30
Ostatni post: Masterka5
Question Usuniecie tagów z głownej Wordpress unreal34 1 2,745 17-02-2015, 15:27
Ostatni post: Kartofelek
  Wordpress Multisite na Win 2008 serwer i Apache marutek 0 1,653 10-03-2013, 22:25
Ostatni post: marutek

Skocz do:


Użytkownicy przeglądający ten wątek:
Sponsorzy i przyjaciele
SeoHost.pl