标签:标签云

实现彩色标签云按字母顺序归类

WordPress默认内置一个标签云(tag cloud)函数wp_tag_cloud,可以实现标签云的输出,其调用方式为:

<?php wp_tag_cloud('smallest=16&largest=34&unit=px&number=0&orderby=count&order=DESC');?>

其中smallest是最不常用的标签的字体大小,反之largest是最常用的标签的字体大小,orderby是选取方式是否按照使用频率排序,order是按照顺序还是逆序输出。

为了美观,可在上述默认标签云效果上叠加彩色效果,网上流传有一个简单函数,可实现彩色标签云,方法为在function.php中加入如下代码:

//边栏彩色标签
function colorCloud($text) {
 $text = preg_replace_callback('||i','colorCloudCallback', $text);
 return $text;
 }

function colorCloudCallback($matches) {
 $text = $matches[1];
 //网上写的将0-16777215的数字转换为16进制
 //$color = dechex(rand(0,16777215));
 //不用上面的16777215,而将0-13774215的数字转换为16进制,是因为13774215-16777215转换为接近于白色的大数字,会导致颜色看不清楚
 $color = dechex(rand(0,13774215));
 $pattern = '/style=(\'|\”)(.*)(\'|\”)/i';
 $text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text);
 return "";
 }
 add_filter('wp_tag_cloud', 'colorCloud', 1);

继续阅读