WordPress显示单一分类和分类下文章

上周五接了个主题,其中有一个要求在侧边显示默认分类名称和分类下文章标题,搜索了一下马上就找到显示单一分类下文章的写法,于是我自以为是的在循环外加了the_category(‘, ‘) ,后来发现这函数在首页时显示正常,可是在其他分类页面下时显示的是该分类的名字,难道是要放循环内?可是放了循环内后发现侧边的排列变成一个标题对应一次分类名,将默认分类下的文章分N次显示了出来。。。

这时候我知道靠猜是解决不了问题了,只能再搜索了。

wordpress的函数真的是n多,就一个分类的函数就不知道有多少种写法,尤其是list_cats(),也写成list_categories()更是随着括号内的参数变化而千变万化,最后才发现原来还有一个叫single_cat_title()的函数,其实我也用过,可是以前根本没有区分的概念,用上它好腰不酸腿不疼了。

具体代码如下:

<?php $posts = query_posts($query_string . "&cat=1&orderby=date&showposts=10" ); ?> 
  <h3><?php single_cat_title() ?></h3>
    <?php while(have_posts()) : the_post(); ?>
      <ul>
        <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li> 
      </ul>
<?php endwhile; ?>

搞定!另外还有一个和分类有关的,就是分类说明的函数是:echo(category_description()),也写成echo(category_description(the_category_ID(false)/$category)),括号里的“/”是或者的意思,不是共存的。我不知道加括号里的东西和不加有什么区别,不过这个函数默认输出时带p的,为了便于管理得在function.php文件里加:remove_filter(‘term_description’,’wpautop’);

2010.06.18编辑:

上面提到的方法不知道是不是php代码没有闭合,对其他php代码会有影响,会导致一些php判断和某些函数无效,因为本人不懂php,所以无法修改。另外在marslau.com看到另外一种方法,因为没有测试,不知道会不会有同样的问题,代码如下:

<?php $posts = get_posts( “category=4&numberposts=10″ ); ?>
<?php if( $posts ) : ?>
<ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
    <li>
        <a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
    </li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>

作者: LMS

天行贱,君子自强自息。

标签

《WordPress显示单一分类和分类下文章》有12个想法

  1. 從 RSS 閱讀器裏讀到的博文訊息排版錯亂,不知博主是否可檢查一下你的 Feed 設定呢?

    1. @Carrie 谢谢您默默无闻的订阅敝人的小博客! 😳
      你说的问题我自己也有发现,曾试图更正过最后不了了之,看来是得好好处理一下了。

      1. @LMS 呵,其實已經訂閱好一陣子了,不過還有一點,就是評掄區塊輸入的字體相當小,不曉得你有無時間做修正呢?

        1. @Carrie 😈 我一直在用谷歌浏览器,这个浏览器最小只显示10px的,我一直不知道输入宽里定义的居然是0.9em的字体大小,刚才用ie看了下,还真的是小的可怜,马上改回来.
          非常非常感谢你的热心肠!!! 🙂

发表评论

电子邮件地址不会被公开。 必填项已用*标注