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

最近看见大伙的博客主题越来越好看,本人从开博到现在已经换了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);

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


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

已经有16条评论!

 

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

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

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

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

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

    5F
  6. 好东西 学习一下

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

    7F

怎么样?你也说一句吧!

gravatar

汗 色 悲 闭嘴 调皮 笑 惊 亲 雷 馋 晕 酷 奸 怒 狂 萌 吃 贪 囧 羞 哭