无意当中看到一个标签云的函数 于是试着修改了下 让其使用出来是彩色的,具体方法如下:
标签云用到的函数是
- <?php wp_tag_cloud(); ?>
有以下几个主要参数:
smallest:最小字体,默认为8
largest:最大字体,默认为22
unit:字符大小的单位(例如pt,px,em),默认为pt
number:显示标签个数(为0时显示所有标签),默认为45
format:显示方式,flat(默认,以空格分隔)
以上各参数以”&”符号连接.不必都填,不填的参数以默认值为准.
根据上面的参数,调用标签云可以像这样:
- <?php wp_tag_cloud(‘number=50&largest=24&smallest=12&unit=px’); ?>
实现彩色标签云的函数
- //彩色标签云函数开始
- 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 里即可。
具体演示可以看本站的标签云!
彩色tag cloud,之前看到过,一直不知道怎么实现,感谢分享!