WordPress按分类显示文章

发布时间:2020-05-07

可以自动将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/

大熊wordpress凭借多年的wordpress企业主题制作经验,坚持以“为用户而生的wordpress主题”为宗旨,累计为2000多家客户提供品质wordpress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。大熊wordpress能坚持多年,是因为我们一直诚信。我们明码标价(wordpress做网站需要多少钱),从不忽悠任何客户,我们的报价宗旨:“拒绝暴利,只保留合理的利润”。如果您有网站建设、网站改版、网站维护等方面的需求,请立即咨询右侧在线客服或拨打咨询热线:18324743309,我们会详细为你一一解答你心中的疑难。

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”互联网推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体互联网推广吧,我们和你一起,开创互联网大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。