WordPress有个很好用的插件:Weighted Categories, 它能够将分类名显示成tag cloud,即文章数多的分类使用大号字体,文章数少的分类使用小号字体。 但是这个插件有两个问题,一是最后一个分类的链接不正确,这一点官方主页上也有人提出过; 二是各个级别的分类的样式是通过计算得出的,无法自定义样式。

针对以上两个问题,我修改了这个插件,并将其汉化。新的插件可以在这里下载。weighted-categories.zip

使用时将 weighted-categories.php 放到 wp-content/plugins 下,然后在管理面板中激活该插件。 然后在模板中加入以下的代码以显示tagcloud。

<div id="tagcloud">
<?php weighted_categories(1, 10, ""); ?>
</div>

然后需要在模板的 style.css 中加入你自己的分类级别样式定义(必须,否则各个级别显示出来都一个样)。 附带的 style-sample.css 为示例。

修改后的 weighted_categories 定义如下:

function weighted_categories($minlevel=1, $maxlevel=10, $exclude_categories)
  - $minlevel: 最小级别的编号
  - $maxlevel: 最大级别的编号
  - $exclude_categories: 不想显示的分类id,使用逗号分割,例如 "1,25"表示不显示 id 为 1 或 25 的分类

当然,为了让这些标签看起来更像真正的标签,我们需要在WordPress的选项中打开永久链接, 并在选项->永久链接分类基础选项中填入“/tag”,这样分类的链接就会显示为 /tag/分类名。