正在载入...

可以自动将Wordpress站点的文章按分类显示在一个页面中,用作CMS主题布局很实用。

用下代码替换首页模板主循环,则按分类显示各分类最新的5篇文章。

  1. <?php
  2.     global $cat;
  3.     $cats = get_categories(array(
  4.         'child_of' => $cat,
  5.         'parent' => $cat,
  6.         'hide_empty' => 0
  7.     ));
  8.     $c = get_category($cat);
  9.     foreach($cats as $the_cat){
  10.         $posts = get_posts(array(
  11.             'category' => $the_cat->cat_ID,
  12.             'numberposts' => 5,
  13.         ));
  14.         if(!empty($posts)){
  15.             echo '
  16.             <div class="item cat_item">
  17.                 <div class="item_title"><h2><a title="'.$the_cat->name.'" href="'.get_category_link($the_cat).'">'.$the_cat->name.'</a></h2></div>
  18.                 <ul class="box_list">';
  19.                     foreach($posts as $post){
  20.                         echo '<li><span class="alignright">'.mysql2date('Y-m-d', $post->post_date).'</span>
  21.                         <a title="'.$post->post_title.'" href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></li>';
  22.                     }
  23.                 echo '</ul>
  24.             </div>';
  25.         }
  26.     }
  27. ?>

用下代码替换分类归档模板主循环,则显示该分类下所有子分类的最新5篇文章,并按分类显示。如果当前分类下不存在子分类,则显示该分类的文章列表!

  1. <?php
  2.     global $cat;
  3.     $cats = get_categories(array(
  4.         'child_of' => $cat,
  5.         'parent' => $cat,
  6.         'hide_empty' => 0
  7.     ));
  8.     $c = get_category($cat);
  9.     if(empty($cats)){
  10. ?>
  11. <div class="item">
  12.     <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
  13.     <div class="post">
  14.         <h2><a title="<?php the_title(); ?>" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
  15.         <p><?php the_excerpt(); ?></p>
  16.         <p><a href="<?php the_permalink(); ?>">全文阅读>></a></p>
  17.         <div class="meta"><?php the_time('Y-m-d'); ?> | 标签: <?php the_tags('', ' , ', ''); ?></div>
  18.     </div>
  19.     <?php endwhile; ?>
  20.     <?php else: ?>
  21.         <div class="post"><p>文章稍后更新</p></div>
  22.     <?php endif; ?>
  23. </div>
  24. <div class="navigation">
  25.     <span class="alignleft"><?php next_posts_link('&laquo; Older posts') ?></span>
  26.     <span class="alignright"><?php previous_posts_link('Newer posts &raquo;') ?></span>
  27. </div>
  28. <?php
  29. }else{
  30.     foreach($cats as $the_cat){
  31.         $posts = get_posts(array(
  32.             'category' => $the_cat->cat_ID,
  33.             'numberposts' => 10,
  34.         ));
  35.         if(!empty($posts)){
  36.             echo '
  37.             <div class="item cat_item">
  38.                 <div class="item_title"><h2><a title="'.$the_cat->name.'" href="'.get_category_link($the_cat).'">'.$the_cat->name.'</a></h2></div>
  39.                 <ul class="box_list">';
  40.                     foreach($posts as $post){
  41.                         echo '<li><span class="alignright">'.mysql2date('Y-m-d', $post->post_date).'</span>
  42.                         <a title="'.$post->post_title.'" href="'.get_permalink($post->ID).'">'.$post->post_title.'</a></li>';
  43.                     }
  44.                 echo '</ul>
  45.             </div>';
  46.         }
  47.     }
  48. }
  49. ?>

源代码出处:http://faq.wopus.org/question/10083/

本文链接:

关键词:CMS主题, get_categories, WordPress, 代码, 函数,

(全文完        )

Comments

1 条评论(网友评论:1 条,博主回复:0 条)快速评论

  1. 谢谢啦,很有用!

你需要 登录 才可以回复.