显示各分类中文章的个数

- - 1 条留言 -

以前在Movable Type(MT)里面有一个tag是表示每个分类中文章的个数的,加在显示分类的命令后面就OK了。可是WordPress(WP)里面略有不同。 WP显示分类的方法就与MT不一样。在MT中,显示分类是一个命令函数,选择不同的参数来决定是按日期还是按内容。在WP中要输出按照内容的分类函数是:

< ?php wp_list_cats(); ? >

而输出按照时间分类的函数是:

< ?php wp_get_archives(); ? >

两个函数的调用虽然很简单,但是实际上可以传递很多参数。起初index.php没有作改动的默认状态时,这两个函数都是没有参数的,也就是说所有参数都是按照默认取值。下面看看有什么参数可以变。 wp_list_cats()函数的代码在/wp-includes/template-functions-category.php文件里面,可以看到在调用的时候,传递了大量的参数,如下:

$optionall = 1, $all = ‘All’, $sort_column = ‘ID’, $sort_order = ‘asc’, $file = ”, $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1, $use_desc_for_title = 1, $children=FALSE, $child_of=0, $categories=0, $recurse=0, $feed =  ”, $feed_image = ”, $exclude = ”

从参数的名字大概应该可以看出参数的意思,通过设置不同的值可以得到不同的效果。那么如果把$optioncount变成1的话,就可以在内容分类的后面显示该类别中的文章个数。所以在index.php里面,就可以把wp_list_cats();改为

< ?php wp_list_cats(‘optioncount=1’); ? >

用来显示按时间整理分类的wp_get_archives()函数位于/wp-includes/template-functions-general.php文件中,察看代码可见默认有如下参数:

$type=”, $limit=”, $format=’html’, $before = ”, $after = ”, $show_post_count = false

这里的$type是分类的形式,按月按年按周。如果要指定按月,还要显示每月的文章数就可以在index.php中修改wp_get_archives()为下面的方式传递多个参数,

< ?php wp_get_archives(‘type=monthly&show_post_count=true’); ?>

注意,参数中间是“&”。

灵活运用参数的取值可以实现非常多样的输出效果。详细的关于WP的模板标签的说明清参见WordPress的Doc。