请问有没有办法在一级分类下显示所有二级分类的列表

RT,类似于wpbars里面的http://www.wpbars.com/webmaster/ ,搜索了很多,但是都不是我想要的,应该可以通过修改category.php来实现吧。那位大大有经验呢?要是通过一个一个添加修改岂不是很麻烦,有没有代码一次解决呢?

(上次修改于2011-11-25,查看历史版本。)
酷剑 -
共有5个回答 按发表时间排序
  • 1
    最佳答案
    摄氏度 - 2011-11-25

    试试这个:

    <?php
        global $cat;
        $cats = get_categories(array(
            'child_of' => $cat,
            'parent' => $cat,
            'hide_empty' => 0
        ));
        $c = get_category($cat);
        foreach($cats as $the_cat){
            $posts = get_posts(array(
                'category' => $the_cat->cat_ID,
                'numberposts' => 5,
            ));
            if(!empty($posts)){
                echo '
                <div class="item cat_item">
                    <div class="item_title"><h2><a title="'.$the_cat->name.'" href="'.get_category_link($the_cat).'">'.$the_cat->name.'</a></h2></div>  
                    <ul class="box_list">';
                        foreach($posts as $post){
                            echo '<li><span class="alignright">'.mysql2date('Y-m-d', $post->post_date).'</span>
                            <a title="'.$post->post_title.'" href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></li>';
                        }
                    echo '</ul>
                </div>';
            }
        }
    ?>
    
    摄氏度 - 2011-11-25

    修改category.php原来的LOOP循环内容。

    酷剑 - 2011-11-26

    嗯,这样子是实现了一级分类下显示所有分类,但是同样也是需要一个一个的修改,假如你有很多个这样子的一级分类,但是二级分类却是空白了。有没有同时符合一级分类显示二级列表,二级分类同时显示另外一种样式呢?

    摄氏度 - 2011-11-26

    忘了在category.php页面里加判断了,用这个代码:

    <?php
        global $cat;
        $cats = get_categories(array(
            'child_of' => $cat,
            'parent' => $cat,
            'hide_empty' => 0
        ));
        $c = get_category($cat);
        if(empty($cats)){
    ?>
    <div class="item">
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <div class="post">
            <h2><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <p><?php the_excerpt(); ?></p>
            <p><a href="<?php the_permalink(); ?>">全文阅读>></a></p>
            <div class="meta"><?php the_time('Y-m-d'); ?> | 标签: <?php the_tags('', ' , ', ''); ?></div>
        </div>
        <?php endwhile; ?>
        <?php else: ?>
            <div class="post"><p>文章稍后更新</p></div>
        <?php endif; ?>
    </div>
    <div class="navigation">
        <span class="alignleft"><?php next_posts_link('&laquo; Older posts') ?></span>
        <span class="alignright"><?php previous_posts_link('Newer posts &raquo;') ?></span>
    </div>
    <?php
    }else{
        foreach($cats as $the_cat){
            $posts = get_posts(array(
                'category' => $the_cat->cat_ID,
                'numberposts' => 10,
            ));
            if(!empty($posts)){
                echo '
                <div class="item cat_item">
                    <div class="item_title"><h2><a title="'.$the_cat->name.'" href="'.get_category_link($the_cat).'">'.$the_cat->name.'</a></h2></div>  
                    <ul class="box_list">';
                        foreach($posts as $post){
                            echo '<li><span class="alignright">'.mysql2date('Y-m-d', $post->post_date).'</span>
                            <a title="'.$post->post_title.'" href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></li>';
                        }
                    echo '</ul>
                </div>';
            }
        }
    }
    ?>
    
    酷剑 - 2011-11-26

    大大,威武,成功了。

做好事要留名,请先登录再回答,如果还没有帐户请先注册