边栏的标签云(Tag Cloud)是 WordPress 2.3 版以后的内置功能,在后台小工具中直接拖动添加即可。不过标签字体默认情况尺寸不同,但色彩一致,看起来相当杂乱。虽然有 Simple Tags 等插件可以为标签上色,但几行代码就可以实现的功能还是不插了。
使用方法:
将以下代码放入主题包 functions.php 文件中(如果没有这个文件,新建保存即可):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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。你可以使用进制换算工具换算后修改这行代码,改变颜色范围。
修改完成后,使用下面这段代码在博客中调用或者直接在小工具中添加标签模块即可:
1 | <?php wp_tag_cloud('smallest=8&largest=24&number=50'); ?> |
函数说明:
- “smallest”:最小的字体尺寸(使用频率最少的标签)
- “largest”:最大的字体尺寸(频率最多的)
- “number”:则表示标签显示数量。
对于大多数不熟悉 php 的用户,这一小改动的最大难点在于如何向 functions.php 中插入代码。因此我把代码加了头尾,使用时请直接将本文第一段代码粘贴到 functions.php 的末尾处。
本文源代码来自站长网。
编辑后整个网站出现
Parse error: syntax error, unexpected ‘{‘ in /home/taotaole/public_html/blog/wp-content/themes/elegant-box/functions.php on line 558
。。。。
学习学习
从俺那把标签摆出来,貌似没什么实用价值
@大乐 代码我修改了一下,半角用成全角了
@大乐
转义啦,注意单、双引号~
demo的链接404了。。。
@万戈
已经ok了
这次可以了
以前用的这个方法,现在标签云整合进主题了
123
还是不行~