wp_list_categories函数用法详解

分享到: 更多

本以为写完新手教程之后,可以不写新手应用方面的文章了的,可今天又有朋友在群里问如何显示每个分类下文章数量这个基础性问题,看来Wordpress中文化还有很长的一段路要走,我们任重而道远啊!好,解决你的问题先:
正如标题所说,Wordpress是用wp_list_categories这个函数来显示分类的,其用法是:

< ?php wp_list_categories(‘arguments’); ?>
arguments即参数,默认参数设置为:

$defaults = array(
‘show_option_all’ => ”, 不列出分类链接
‘orderby’ => ‘name’, 按照分类名排序
‘order’ => ‘ASC’, 升序排列
‘show_last_update’ => 0, 不显示分类中日志的最新时间戳
‘style’ => ‘list’,列表显示分类
‘show_count’ => 0, 不显示分类日志数量
‘hide_empty’ => 1, 不显示没有日志的分类
‘use_desc_for_title’ => 1, 显示分类描述
‘child_of’ => 0, 不限制子分类
‘feed’ => ”, 不显示feed
‘feed_image’ => ”, 不显示feed图片
‘exclude’ => ”, 不显示该分类
‘hierarchical’ => true, 分层次显示父/子分类
‘title_li’ => __(‘Categories’), 用“Categories”为当前分类列表的标题
‘echo’ => 1, 显示(echos) 分类
‘depth’ => 0 不限制列表深度
);

用法举例:

  1. 按照分类名排序,并只显示 ID 为1、2、3和4的分类:
      < ?php
      wp_list_categories(‘orderby=name&include=1,2,3,4′); ?>
  2. 按照分类名排序,并显示每个分类的日志数,但不显示 ID 为10的分类
      < ?php
      wp_list_categories(‘orderby=name&show_count=1&exclude=10′); ?>
  3. 显示或隐藏列表标题
      < ?php
      wp_list_categories(‘exclude=4,7&title_li=’); ?>
      < ?php
      wp_list_categories(‘include=5,9,23&title_li= 

      ‘ . __(‘Poetry’) . ” ); ?>

  4. title_li 这个参数用于显示或者隐藏分类列表的标题,它的默认值为’(__(‘Categories’)',即显示分类列表的标题,如果不设置或设置为空,它将什么 也不显示。下面的例子将不显示id为4和7的分类,并不显示list_categories列表的标题:
    接下来的例子是仅仅只显示 ID为5、9和23的分类,并且列表标题显示为“Poetry”表:

  5. 仅显示某个分类下的子分类
      < ?php wp_list_categories(‘orderby=id&show_count=1
      &use_desc_for_title=0&child_of=8′); ?>
  6. 下面的示例代码生成了 ID 为8的父分类下的子分类根据其 ID 进行排序的链接列表,它会显示每个分类下的文章数,并且隐藏链接的 title 标签中的分类描述,注意:如果父分类下没有任何文章,那么父分类将不会显示(读起来貌似很难理解,不过照着做就理解了)

  7. 显示带有 RSS Feed 链接的分类列表
      < ?php
      wp_list_categories(‘orderby=name&show_count=1&feed=RSS’); ?>
      < ?php
      wp_list_categories(‘orderby=name&show_count=1
      &feed_image=/images/rss.gif’); ?>
  8. 面代码根据分类名对分类列表排序,并显示每个分类下的文章数和 RSS 的 Feed 链接:
    还可以使用 RSS 图标代替 RSS 链接

更详细说明

调用方法: < ?php wp_list_categories(‘参数1=值&参数2=值&参数3=值’); ?> 参数可以任意个数。下面把所有参数和值汇总一下:show_option_all
值:任意填。
如果你写< ?php wp_list_categories(’show_option_all=那啥’); ?>,那么在列表第一个分类就显示“那啥”两字,不过连接是连接到blog首页的,正好可以利用此参数加个“首页”。orderby
值:ID、name(默认值)、count。
作用是按这3个值来排序。order
值:ASC(默认值)、DESC。
ASC为升序,DESC为降序。show_last_updated
值:0(默认值)、1。
0无作用,1为最近更新的分类显示在前面。

style
值:list(默认值)、none。
例6中已经举例了。none无作用。

show_count
值:0、1(默认值)
1在每个分类后面显示日志数量,0不显示。

hide_empty
值:0、1(默认值)
1是隐藏没有发表日志的分类,0是显示所有。

use_desc_for_title
值:0、1(默认值)
0为关闭说明,1为显示说明。上面有例子。

child_of
值:数字
显示指定ID(也就是所填的这个数字)下的子分类。

feed
值:任意
假如你填“啊!”,那么在你每个分类后面都会出现“(啊!)”,连接地址是RSS地址。

feed_image
值:任意。虽然任意,但是是个图片的地址才对。
用来在分类后面显示个RSS Feed图标,上面有例子。

exclude
值:任意。但是要填分类名称或者分类ID才有效。
用来过滤(或者说隐藏)某个分类在列表中的出现。

include
值:任意。但是要填分类名称或者分类ID才有效。
作用是只显示所填的这个分类名或ID。

hierarchical
值:0、1(默认值)
说是按分类文章数目排列的,但测试无效果。

title_li
值:任意
用来改变列表标题的。

number
值:整数
设置一个显示上限。

调用举例:

1.包含或排除某分类:

意思就是把分类ID为3,5,9,16的分类按名称顺序来排序:

< ?php wp_list_categories(‘orderby=name&include=3,5,9,16′); ?>

按名称排列,并显示每个分类的日志总数,并不显示ID为10的分类:

< ?php wp_list_categories(‘orderby=name&show_count=1&exclude=10′); ?>

2.显示或隐藏列表标题:

过滤ID为4和7的分类,并且列表标题设置为“哈哈”:

< ?php wp_list_categories(‘exclude=4,7&title_li=哈哈’); ?>

列表中只显示ID为5、9、23的分类,并把列表标题改为<h2>Poetry</h2>(下面的格式是为了把“要显示的数据”和“标签参数区分开来”)

< ?php wp_list_categories(‘include=5,9,23&title_li=<h2>’ . __(‘Poetry’) . ‘</h2>’ ); ?>

3.那啥

这个参数的意思是:按ID排序,关闭分类说明(就是鼠标移动到连接上就不显示你在后台填的分类说明了,只显示“察看XX分类下的所有文章”),并且只显示ID为8的分类下的子分类,如果没有,则参数无效,会按默认来显示。

< ?php wp_list_categories(‘orderby=id&show_count=1&use_desc_for_title=0&child_of=8′); ?>

4.外观是分类后面显示个(RSS),作用就不用我说了吧?

< ?php wp_list_categories(‘orderby=name&show_count=1&feed=RSS’); ?>

5.这个比较酷,相信大家都喜欢:

分类名称后面显示一个自己制定的小图标,作用是RSS。

< ?php wp_list_categories(‘orderby=name&show_count=1&feed_image=/images/rss.gif’); ?>

6.花式列表:

改变当前正在浏览的分类名字的样式。’style=list’的作用是给输出的html代码

中加一个class=”current-cat”, 然后你在CSS里添一个.current-cat {color:red;}那么我浏览分类AAA时,列表中的“AAA”3个字就是红色的,浏览BBB,“BBB”就是红色的。

< ?php wp_list_categories(’style=list’ ); ?>

Leave a Reply

Google AdWords