无插件实现wordpress彩色标签云

侧边栏的标签云(Tag Cloud)一直是 WordPress 2.3+ 以后的内置功能,一般直接调用函数wp_tag_cloud 或者在 Widgets 里开启即可,但是默认的全部是一个颜色,只是大小不一样,很是不顺眼,虽然可以用 Simple Tags 之类的插件,但是总感觉不爽,所以我介绍一个不用任何插件就能显示彩色标签云的方法。

后台编辑 主题 的 functions.php , 输入以下代码

function colorCloud($text) {
$text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = '/style=('|")(.*)('|")/i';
$text = preg_replace($pattern, "style="color:#{$color};$2;"", $text);
return "<a $text>";
}
add_filter('wp_tag_cloud', 'colorCloud', 1);

可以看到,颜色是随机的,可以自行修改 $color = dechex(rand(0,16777215));  这行来修改范围,这样就很炫耀哈哈。

然后在侧边栏 sidebar.php 里调用如下代码:

<?php wp_tag_cloud('smallest=8&largest=24&number=50'); ?> 

即可,8 是最小的 tag 的字体大小(用的最少的 tag),24 是最大的(用的最多的 tag),50 是 tag 的数目,可以自行修改。

效果可以看我首页右边的侧边栏:

发表评论

电子邮件地址不会被公开。 必填项已用*标注