无插件实现标签云彩色效果

最近看见大伙的博客主题越来越好看,本人从开博到现在已经换了N个主题了,停留在这个状态已经很久了,其中上次的博客主题,也就是我发布完这篇文章的时候,这个主题是我最喜欢的,顶部的图片可以定期换,只要更换图片就能给大家一种新鲜的感觉,不用大换主题,上次去掉所有图片是因为空间流量问题,我以为是图片的原因,经过页面压缩以后,发现空间流量已经够用了,现在终于可以换回来了,于是顺便加上一个标签云彩色效果,这个彩色效果虽然以前就用过了,不过这次的方法不同,不用修改插件里面的代码,直接在functions.php里面添加一段代码就搞定,解决了以往使用插件代码,更新插件的时候就没有效果的问题。
这么好的方法当然不是我想出来的,而是google出来的:

一、随机颜色

将以下代码放入主题包 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);

第8行代码”$color=dechex(rand(0,16777215));”:作用是定义标签随机颜色的十进制数值范围,0 等于 #000000,16777215 等于 #ffffff。你可以使用进制换算工具换算后修改这行代码,改变颜色范围。

在主题需要的地方加入以下代码:

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

代码说明:

  • “smallest”:最小的字体尺寸(使用频率最少的标签)
  • “largest”:最大的字体尺寸(频率最多的)
  • “number”:则表示标签显示数量。

以上方法来自老四的博客:http://hezi.info/share/wordpress/wordpress-colore-tag.html

二、自定义颜色

function colorCloudCallback($matches) {
$tag_link=$matches[1];
/*颜色集合*/
$colorFull = array(‘#999′,’#D8D9A4′,’#9BB’,'#EB9′,’#a3c159′,’#FEC42D’,'#6C8C37′,
‘#c2dc15′,’#3371A3′,’#888′,’#00ccff’,'#FF8080′);
$color=$colorFull[ mt_rand(0, count($colorFull) - 1)];
$pattern = ‘/style=(\’|\”)(.*)(\’|\”)/i’;
$tag_link= preg_replace($pattern, “style=\”color:{$color};$2;\”", $tag_link);
return “<a $tag_link>”;
}
add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1);

想换啥颜色,自己到这里选择颜色代码替换上。

分类:网络博客 标签:,,,

上一篇:80后的我们

下一篇:阿根廷H线地铁能否开通到D线

已经有15条评论!

Loading...
  1. 嘿,学习.我也试试

    沙发!
  2. 看着花哨 不过现在不喜欢了~~~

    板凳!
  3. 嘿嘿 要是再加上浑天仪那种效果,估计也爽哦

    地板!
  4. 这挺不错的,方便查看标签

    4F
  5. 你这博客竟然支持那么多留言,太牛了啊

    5F
  6. 好东西 学习一下

    6F
  7. 这个我用的emlog倒是本来就有这样的插件了,不过我是连标签都没有认真搞的

    7F

怎么样?你也说一句吧!

gravatar

冷笑 忧伤 恶魔 笑脸 红脸 咧嘴笑 吃惊 惊讶 困惑 耍酷
大笑 抓狂 痛苦 转眼珠 眨眼 好主意 囧 无表情 哭泣 坏笑