Ψ小川Ψ dě Blog

Home » » 不用插件实现WordPress彩色标签云效果

不用插件实现WordPress彩色标签云效果

编辑主题下的functions.php文件 在最后?>前面加入以下代码
(如果你想用插件实现那么你可以找找这款:WP Colorful Tag Cloud)

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);

代码使用说明

1.把这段代码复制粘贴到主题的function.php文件中。

需要注意:

一,是主题的function文件;

二,对于那些目前对代码无能的同学来说,记住,把这段代码放入总的”<?php……这里是所有代码…… ?>”(没有引号)中,最简单的方法,你就记得将代码放在文件末尾的”?>”之前(没有引号)

2.代码说明

这段代码的实现原理是随机赋予颜色,关键代码是这一句:

 $color = dechex(rand(0,16777215));

变量color将被赋值随机的十六进制数,随机函数rand中的参数值0和16777215分别是十六进制的#000000和#ffffff十进制形式。将代码直译过来就是:在0到16777215之间随机取一个十进制数,将它转换成十六进制用于表示颜色。

3.既然是随机赋值,那么前台效果就是随机颜色。说的明白点儿就是,每次你看到的标签云中的某个标签颜色完全是随机的,因为它们的颜色都是每次函数随机赋予的。

 

OK,现在去看看你的标签效果 是不是绚丽多彩了呢?

当然我们也可以调整标签云的显示数量与大小,具体方法如下:

去到 sidebar.php(有的主题是functions.php)
搜索wp_tag_cloud找到类似以下的代码

< ?php wp_tag_cloud('smallest=8&largest=20&number=40'); ?>;

8 是出现最少的tag最小字体,20出现最多的tag最大字体),40是标签出现多少个.调整到你喜欢的.

No comment yet.

添加评论

? razz sad evil ! smile oops grin eek shock ??? cool lol mad twisted roll wink idea arrow neutral cry mrgreen mrgreen

5 + 7 =