彩色标签云

  今天研究了好久,终于发现点眉目。可以不用插件时间标签云的色彩化,而且可以自控字符大小。
  简单地,可以把这段代码放入主题包 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自带的计算器就可以…

作者: xiaogs

喜爱旅游、户外、摄影。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注