大家如果今早在线的话,就会发现本站一段时间打不开,那是因为本站正在进行一系列疯狂的优化。首先是将wp-colorful-tag-cloud这个插件从后台卸除了。
取用代码替代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);
将上面的这段代码添加到主题functions.php文件中,然后在你想调用的地方加入:
就OK啦。
* smallest 表示最小字体显示
* largest表示最大字体显示
* number就是显示数目
以上代码可根据需要自行修改。
再小小的强调下和B4下某些博主,一个小小的代码调用也并非多困难之事,互联网抄袭风之严重早已经耳闻,但是你偌大个程序架的站怎么说也是有头有脸的“人物”,干嘛不能为自己发出来的东西负下责呢。Google第一页找出来的代码居然没有几个能用的,我艹,这不是浪费大众表情吗!
下面这段就是网上所转传N次的所谓自定义彩色标签之自定义颜色
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);
好吧,我不想骂娘,哪个狗日写的哪个麻烦哪个狗日的维护下,拜托了,大侠不要让它再危害人间了~ 谢谢。下面是上面这代码报的错,测试环境wp3.1 ,默认主题和本人的主题测试都报此错。
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘tagcolorCloud’ was given in /home/itmycom/public_html/wp-includes/plugin.php on line 166
好吧,我承认我又骂人了。。。 最后回到正题,要效果?见右侧栏下端。
03/22/2011 8:56 上午
效果很不错,我已经用了。