首页 > 代码库 > wordpress分类目录函数:wp_list_cats参数详解

wordpress分类目录函数:wp_list_cats参数详解

今天修改主题模板时相直接调用分类目录,查了一下分类目录函数wp_list_cats();

WordPress分类目录常用格式

<?php wp_list_cats(“sort_column=ID&hide_empty=0&optioncount=1″);?>

该函数表示:分类目录按ID排列,不显示没有文章的分类,显示分类目录下的文章数量

wp_list_cats函数参数如下:

sort_column
默认值为ID,可选ID 或 name,分别表示按 ID 值或分类名称排序
sort_order
默认值为asc,可选asc 或 desc,分别表示排序递增或递减
list
默认值为1,可选 0 或 1,设定是否按序显示,将会在分类上加上标签
optiondates
默认值为0,可选 0 或 1,设定是否显示每个分类下最新发表文章的发表日期
optioncount
默认值为0,可选 0 或 1,设定是否显示分类下的文章数
hide_empty
默认值为1,可选 0 或 1,设定是否隐藏无文章的分类目录
use_desc_for_title
默认值为1,可选 0 或 1,设定分类链接的title是否显示为分类说明,如
children
默认值为1,可选 0 或 1,设定是否显示子分类
hierarchical
默认值为1,可选 0 或 1,设定子分类是否以层级方式显示
child_of
无默认值,设定只显示某项分类(ID)的子分类,child_of=分类ID值,有设定此项目的话,hide_empty要设为0
exclude
无默认值,设定不要显示的分类ID,可设置多个分类,如 exclude=ID1,ID2,ID3,…..
feed
无默认值,设定分类 RSS 的显示文字,如 feed=RSS,如果这个项目有设定的话,分类之後将会显示分类Feed的链接
feed_image
无默认值,设定分类 RSS 的图片路径,如 feed=images/rss.gif,如果同时有设定 feed_image 与 feed,则将以 feed_image 为主
提醒:通常0是表示‘否定’,1是表示‘肯定’。

一般 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, Displays only Categories with posts
‘use_desc_for_title‘ => 1,  显示分类链接中 title 标签的分类描述
‘child_of‘ => 0,  子分类无限制
‘feed‘ => ”,  无 feed
‘feed_image‘ => ”,  无 feed 图片显示
‘exclude‘ => ”,  不在分类列表中显示该分类
‘hierarchical‘ => true,  分层显示父/子分类
‘title_li‘ => __(‘Categories‘),  在列表前作为标题显示分类
‘echo‘ => 1 显示分类
);

用法举例

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

  1. <ul>
  2. <?php
  3. wp_list_categories(‘orderby=name&include=3,5,9,16‘); ?>
  4. </ul>

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

  1. <ul>
  2. <?php
  3. wp_list_categories(‘orderby=name&show_count=1&exclude=10‘); ?>
  4. </ul>

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

  1. <ul>
  2. <?php
  3. wp_list_categories(‘exclude=4,7&title_li=‘); ?>
  4. </ul>

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

  1. <ul>
  2. <?php
  3. wp_list_categories(‘include=5,9,23&title_li=<h2>‘ . __(‘诗歌‘) . ‘</h2>‘ ); ?>
  4. </ul>

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

  1. <ul>
  2. <?php wp_list_categories(‘orderby=id&show_count=1
  3. &use_desc_for_title=0&child_of=8‘); ?>
  4. </ul>

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

5、显示带有 RSS Feed 链接的分类列表,下面代码根据分类名对分类列表排序,并显示每个分类下的文章数和 RSS 的 Feed 链接。

  1. <ul>
  2. <?php
  3. wp_list_categories(‘orderby=name&show_count=1&feed=RSS‘); ?>
  4. </ul>

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

  1. <ul>
  2. <?php
  3. wp_list_categories(‘orderby=name&show_count=1
  4. &feed_image=/images/rss.gif‘); ?>
  5. </ul>

6、标记和样式化分类列表,从上面的例子中可以看到,我们将分类列表函数: wp_list_categories() 套用在 ul 和 li 标签里,除此外我们还可以对其进行其它的样式化,个人认为这些工作直接在 CSS 里设置即可,原文档中的方法实际作用并不是很大,这里我就不多做介绍,有兴趣的朋友可以 参考这里

介绍这个函数中所用到的各种参数设置。

orderby
1. 字符串型参数,分类的排序方式: orderby=ID (按照分类默认的 ID 排序)
2. orderby=name (按照分类名排序,默认方式)
3. orderby=count (按照分类下的文章数排序)

order
1. 字符串型,分类按照升降序排序: order=ASC (默认的升序排列)
2. order=DESC (降序排列)

show_last_updated
1. 布尔型,用于是否显示最近更新的时间戳: show_last_updated=1 (显示)
2. show_last_updated=0 (默认,不显示)

style
1. 字符串型,控制分类的输出方式: style=list (按照列表的样式输出)
2. style=none (无样式输出)

show_count
1. 布尔型,是否显示每个分类下的文章数: show_count=0 (默认不显示)
2. show_count=1 (显示)

hide_empty
1. 布尔型,是否不显示没有文章的分类: hide_empty=1 (默认,是的,不显示)
2. hide_empty=0 (显示)

use_desc_for_title
1. 布尔型,是否将分类的描述插入其链接的 title 标签中: use_desc_for_title=1 (默认,插入描述)
2. use_desc_for_title=0 (不插入)

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

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

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

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

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

hierarchical
1. 布尔型,是否分层缩进显示子分类 hierarchical=1 (默认显示)
2. hierarchical=0 (不显示)

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

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

echo(含糊不清…)
1. 布尔型,用于显示结果或保持为一个变量,默认显示原有分类。 echo=1 (默认显示)
2. echo=0 (不显示)

depth(用处不大)
1. 整型,用于控制最多显示多少层的子分类。 depth=0 (默认按照分层缩进的方式显示全部分类和子分类)
2. depth=-1 (不按照缩进的方式显示全部分类)
3. depth=1 (只显示一层子分类)
4. depth=n (显示 n 层子分类)

show_option_all
很少用