RSS订阅本站

WordPress函数之-分类列表 wp_list_categories详解

by
Posted 七月 8th, 2010 at 2:37 下午

wordpress的分类函数对于主题作者来说可能并不陌生,因为基本上我们一定会用到这个函数;在 WordPress 中 wp_list_categories 是用来显示所有分类的链接列表,它有两种表示方法:list_cats()(deprecated) 和 wp_list_cats()(deprecated)

使用方法:

<?php wp_list_categories('参数'); ?>

默认参数设置为:

$defaults = array(
'show_option_all' => ",  	显示分类,但默认分类无链接
'orderby' => 'name', 	 	按照分类名进行排序
'order'=> 'ASC', 	 	按照升序排名
'show_last_update' => 0,   	不显示分类中日志的最新时间戳
'style' => 'list',  		用列表显示分类
'show_count' => 0, 0, 		不显示分类下的日志数
'hide_empty' => 1, 		只显示有文章的分类
'use_desc_for_title' => 1,  	显示分类链接中 title 标签的分类描述
'child_of' => 0, 		子分类无限制
'feed' => ”,  			无 feed输出
'feed_image' => ”,  		默认在Feed 中不输出图片
'exclude' => ”,  		不在分类列表中显示该分类
'hierarchical' => true,		分层显示父/子分类
'title_li' => __('Categories'), 在列表前作为标题显示分类
'echo' => 1 			显示分类
);

函数参数参考说明

show_option_all

(字符串)当值为非空时会显示所有链接。默认值是不显示的所有链接。

orderby

字符串型参数,分类的排序方式:

  • orderby=ID(按照分类默认的 ID 排序)
  • orderby=name(按照分类名排序–默认)
  • orderby=count(按照分类下的文章数排序)
order

字符串型参数,分类的排序方式:

  • order=ASC (升序排列–默认)
  • order=DESC(降序排列)
show_last_updated

布尔型,用于是否显示最近更新的时间:

  • show_last_updated=1 (显示)
  • show_last_updated=0 (不显示–默认)
style

字符串型,控制分类的输出方式:

  • style=list(按照列表的样式输出)
  • style=none (无样式输出)
show_count

布尔型,是否显示每个分类下的文章数:

  • show_count=0 (不显示–默认)
  • show_count=1 (显示)
hide_empty

布尔型,是否不显示没有文章的分类:

  • hide_empty=1 (不显示–默认)
  • hide_empty=0 (显示)
use_desc_for_title

布尔型,是否将分类的描述插入其链接的 title 标签中:

  • use_desc_for_title=1 (插入描述–默认)
  • use_desc_for_title=0 (不插入)
child_of

整型,显示指定父分类 ID 下的子分类,无默认值

feed

字符串型,显示每个分类的 RSS 链接,并可以设置链接的文字,默认不显示

feed_image

字符串型,为 RSS 设置一个链接的图标,默认不显示

exclude

字符串型,根据分类的 ID,按照升序将指定分类从分类列表中排除

include

字符串型,根据分类的 ID,按照升序,将指定分类显示出来

hierarchical

布尔型,是否分层缩进显示子分类

  • hierarchical=1 (显示–默认)
  • hierarchical=0 (不显示)
hierarchical

字符串型,设置分类的标题名和外部列表项目的样式,默认显示“_Categories”,如果没有设置这个值则不显示

number

整型,设置显示分类的数量,默认没有限制。

echo

布尔型,用于显示结果或保持为一个变量,默认显示原有分类。此参数将在2.3版本的有效。

  • echo=1 (显示–默认)
  • echo=0 (不显示)
depth

(整数)此参数控制如何在多层次的分类层次。

  • depth=0 (默认按照分层缩进的方式显示全部分类和子分类)
  • depth=-1 (不按照缩进的方式显示全部分类)
  • depth=1 (只显示一层子分类)
  • depth=n (显示 n 层子分类)

实例说明

按照字母排序,并只显示 ID 为16、3、9和5的分类:

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

按照字母排序,显示每个分类的日志数,但不显示 ID 为10的分类

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

显示或隐藏列表头,在分类函数 wp_list_categories 中,title_li 这个参数用于设置或者隐藏分类列表的头或者标题。它的默认值是:‘(__(’Categories’)’ ,这也就是为什么我们在不另设置分类列表标题的时候,它会显示“Categories”的原因。如果你在这里不设置任何参数,那么它将什么都不会显示。下面的例子是排除 ID 为4和7并且隐藏列表头的分类列表:

    <?php wp_list_categories('exclude=4,7&title_li='); ?>
    

接下来的例子是仅仅只显示 ID为5、9和23,并且列表头显示为“诗歌”的分类列表:

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

仅显示某个分类下的子分类,下面的示例代码生成了 ID 为8的父分类下的子分类根据其 ID 进行排序的链接列表(读起来真绕口 -__-|||),它会显示每个分类下的文章数,并且隐藏链接的 title 标签中的分类描述,注意:如果父分类下没有任何文章,那么父分类将不会显示

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

这个函数里设置的参数比较多,这里我稍作说明:我们可以看到不同参数之间使用了“&”这个“与符号”来进行区分连接,orderby=id 按照 ID 排序,show_count=1 显示分类下的文章数,use_desc_for_title=0 隐藏分类描述,child_of=8 指定 ID 为8的子分类。

还可以使用 RSS 图标代替 RSS 链接

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

Noties:

默认情况下,wp_list_categories()生成嵌套在一个无序列表项列表(UL)的(li)的列表里面,默认标题为“Categories”。

你可以删除最外面的项目,并通过设置title_li这个参数为空字符串列表。您需要来包装在一个有序列表(ol)或无序列表输出自己(见下面的例子)。如果您不希望在所有输出名单,设置style参数为none。

li.categories { ... }  /* 最外层的li类 */
 li.cat-item { ... }
 li.cat-item-7 { ... }  /* 第7层应该调用的类,当然后面可以此类推 */
 li.current-cat { ... }
 li.current-cat-parent { ... }
 ul.children { ... }

通过以上的例子我们可以很清楚的看到,我们可以通过对每个class的css样式进行定义,来达到每一层分类的显示样式。

原文标题:WordPress函数之-分类列表 wp_list_categories详解
原文链接:http://www.8pit.com/firefox/wp_list_categories_737.html
订阅本站:http://feed.feedsky.com/sinsky   转载请注明来源,喜欢本站可以Feed订阅本站。
已经有3条评论啦点击留下脚印
  • cuiqingyao
    07/15/2010 11:10 上午
    回复

    你可以代码老师,快点办个暑期培训班吧,我就来报名。

    • SiNsKy
      07/20/2010 9:33 上午
      回复

      啥~

  • Firm
    07/26/2010 4:26 下午
    回复

    基本都涵盖了,学这些基本也就够玩WP了

发广告和垃圾留言的哈,我日你妹!不要在这浪费时间!注册Gravatar头像

* Name

* Email Address

Website Address



现在可用的tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
赞助支持
国外PHP空间_高速稳定_美国空间_免备案_DT-Desgin_送Mysql_100M
RSS 订阅
My Blog
日志存档
网络邻居
彩色Tags