当叶子还是新手的时候,侧边栏的标签云(Tag Cloud)一直再用动态的3D标签云插件,而且还一度汉化过这个插件(详见:wp cumulus 3D标签云插件1.22版已完成汉化,现提供下载),随着时间流逝,慢慢感觉这个插件的华而不实,于是抛弃,转归原始的汉字标签云,但是为了显示更加美观,于是加上了随机彩色效果,方法很简单,不用插件,网上一搜一大把,但是为了记录,还是有必要发文,以备有朋友留言发问。
方法如下:
1.后台编辑 主题 的 functions.php文件,在主循环语句(也就是第一个?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);
$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)); 这个参数来修改颜色显示范围,挑出你喜欢的颜色效果。
2.在侧边栏 sidebar.php 里调用如下代码:
<?php wp_tag_cloud('smallest=8&largest=24&number=50'); ?>
说明:8 是最小的 tag 的字体大小(用的最少的 tag),24 是最大的(用的最多的 tag),50 是 tag 的数目,这几个参数同样可以自行修改。
文章评论
好吧中午试一试,早就想如何改下标签云
我改了后,出现了网站在检索时遇到错误。 该网站可能关闭进行维护或配置不正确。的情况
刚开始很喜欢3D,现在也是觉得华而不实了!
来看了下,借用了…………
还是没弄好 哎 菜鸟
在这里找到答案了。谢谢了
不错,谢谢分享。。
但是另一个问题有出现了,这样的标签,看起来有点乱。。
个人认为!
干脆什么都不用,默认的颜色更好~效果无所谓。内容才重要
已经用上了。。。
冒个泡泡。。。
@老尤里 欢迎冒泡!
这个适用于wp3.0 吗?
@seo胡思乱想 应该适用,可以尝试一下
z-blog可以用不?
@老七 不好意思,叶子对z-blog未做过深入研究,无法回答您的问题,十分抱歉。
如果我用3D云 的话是什么反应
@yesure-admin 没反应,你已经用着呢
不错!emlog的飘过!
@易凡 飘过有赏,马上回访!
@易凡 zblog飘过..
看起来不错啊,挺漂亮的。
但是我已经在第一个?php前插入N多代码了,还插是不是会起冲突了,哈哈!
@秦大少 不会冲突,?php相当于括号的前半部分,之后的内容都是并列关系。所以只要保证代码在“括号”里就能起作用。
插件也是代码,复制过来就行
我是zblog用户 不过我肯定要支持一下
我用的wp-cumulus,感觉还不错。
我也是不喜欢使用wp的插件,很多时候能用代码的就用代码,不行的话,我就直接嵌入html标签。
不错,拿走代码
回头修改加上,不用插件就是好!
flash标签云只适合美化,不适合SEO,我都是不用插件的,感觉也还不错,如果需要,就非插件化实现!
彩色的确是很有美感,你的主题也很漂亮。
不错~很犀利~