做主题的过程中遇到了 categories 的一些参数设置问题,在中文 WordPress 范围内搜索无果后,最终在 WordPress 官网中找到了相应的内容,这里我就简要的把重点记录在此,算是对 WordPress 中文化的一点补充吧…
在 WordPress 中,一般 wp_list_categories 来显示所有分类的链接列表,它有两种表示方法:list_cats()(deprecated) 和 wp_list_cats()(deprecated),下面是使用方法:
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的分类:
2、按照字母排序,显示每个分类的日志数,但不显示 ID 为10的分类
3、显示或隐藏列表头,在分类函数 wp_list_categories 中,title_li 这个参数用于设置或者隐藏分类列表的头或者标题。它的默认值是:‘(__(’Categories’)’ ,这也就是为什么我们在不另设置分类列表标题的时候,它会显示“Categories”的原因。如果你在这里不设置任何参数,那么它将什么都不会显示。下面的例子是排除 ID 为4和7并且隐藏列表头的分类列表:
接下来的例子是仅仅只显示 ID为5、9和23,并且列表头显示为“诗歌”的分类列表:
4、仅显示某个分类下的子分类,下面的示例代码生成了 ID 为8的父分类下的子分类根据其 ID 进行排序的链接列表(读起来真绕口 -__-|||),它会显示每个分类下的文章数,并且隐藏链接的 title 标签中的分类描述,注意:如果父分类下没有任何文章,那么父分类将不会显示
这个函数里设置的参数比较多,这里我稍作说明:我们可以看到不同参数之间使用了“&”这个“与符号”来进行区分连接,orderby=id 按照 ID 排序,show_count=1 显示分类下的文章数,use_desc_for_title=0 隐藏分类描述,child_of=8 指定 ID 为8的子分类。
5、显示带有 RSS Feed 链接的分类列表,下面代码根据分类名对分类列表排序,并显示每个分类下的文章数和 RSS 的 Feed 链接。
还可以使用 RSS 图标代替 RSS 链接
6、标记和样式化分类列表,从上面的例子中可以看到,我们将分类列表函数: wp_list_categories() 套用在 ul 和 li 标签里,除此外我们还可以对其进行其它的样式化,个人认为这些工作直接在 CSS 里设置即可,原文档中的方法实际作用并不是很大,这里我就不多做介绍,有兴趣的朋友可以 参考这里
介绍这个函数中所用到的各种参数设置。
orderbyorderby=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
use_desc_for_title=1 (默认,插入描述) use_desc_for_title=0 (不插入) child_of
hierarchical=1 (默认显示) hierarchical=0 (不显示) hierarchical
echo=1 (默认显示) echo=0 (不显示) depth(用处不大)
depth=0 (默认按照分层缩进的方式显示全部分类和子分类) depth=-1 (不按照缩进的方式显示全部分类) depth=1 (只显示一层子分类) depth=n (显示 n 层子分类) show_option_all