今天研究了好久,终于发现点眉目。可以不用插件时间标签云的色彩化,而且可以自控字符大小。
简单地,可以把这段代码放入主题包 functions.php 文件中:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php wp_tag_cloud(‘smallest=8&largest=24&number=50’); ?>
<?php function colorCloud($text) { $text = preg_replace_callback(‘|<a (.+?)>|i’, ‘colorCloudCallback’, $text); return $text; } function colorCloudCallback($matches) { $text = $matches[1]; $color = dechex(rand(2197503,2197391)); $pattern = ‘/style=(\’|\”)(.*)(\’|\”)/i’; $text = preg_replace($pattern, “style=\”color:#{$color};$2;\””, $text); return “<a $text>”; } add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1); ?> |
其中第一行控制字体大小和标签数量,最小字体8号,最大字体24号,标签最多50个,可自行调整。
至于颜色,在rand(2197503,2197391)中设置,可以自行设定范围,rand(0,16777215)为最大,出来的效果有点花,故对范围加了限制。
ps:因为是十进制,所以搞了半天如何将颜色控制的16进制转化成十进制,baidu、Google了半天才发现,windows自带的计算器就可以…