WordPress按分类显示文章
可以自动将Wordpress推荐阅读:WordPress上传图片自动添加Alt和图像描述站点的文章按分类显示在一个页面中,用作CMS主题布局很实用。
用下代码替换首页模板主循环,则按分类显示各分类最新的5篇文章。
- <?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>’;
- }
- }
- ?>
用下代码替换分类归档模板主循环,则显示该分类下所有子分类的最新5篇文章,并按分类显示。如果当前分类下不存在子分类,则显示该分类的文章列表!
- <?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(‘« Older posts’) ?></span>
- <span class=“alignright”><?php previous_posts_link(‘Newer posts »’) ?></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>’;
- }
- }
- }
- ?>
源代码出处:http://faq.wopus.org/question/10083/