WordPress实现彩色标签云的方法

时间:2021-12-29 17:50:14

本文实例讲述了WordPress实现彩色标签云的方法。分享给大家供大家参考。具体分析如下:

彩色标签云我们在很多的网站都可以看到此类效果了,这里就来实现wordpress增加彩色标签云效果.

这种彩色标签云效果可以通过修改Simple Tags来显示。

1.在simple-tags.client.php中先找到如下代码:
 

复制代码
代码如下:
function getColorByScale($scale_color, $min_color, $max_color)

 

2.注释掉(或者删除)getColorByScale这个function中的以下语句:
 

复制代码
代码如下:
$scale_color = $scale_color / 100; 
$minr = hexdec(substr($min_color, 1, 2)); 
$ming = hexdec(substr($min_color, 3, 2)); 
$minb = hexdec(substr($min_color, 5, 2)); 
$maxr = hexdec(substr($max_color, 1, 2)); 
$maxg = hexdec(substr($max_color, 3, 2)); 
$maxb = hexdec(substr($max_color, 5, 2)); 
$r = dechex(intval((($maxr - $minr) * $scale_color) + $minr)); 
$g = dechex(intval((($maxg - $ming) * $scale_color) + $ming)); 
$b = dechex(intval((($maxb - $minb) * $scale_color) + $minb));

3.加上以下代码:

复制代码
代码如下:
//Colorful Tag Cloud start 
$r = dechex(rand(0,255)); 
$g = dechex(rand(0,196)); 
$b = dechex(rand(0,255));

 

Colorful Tag Cloud end至于要显示多少个标签,怎么排列,热门标签和普通标签分别为多少大小的字体,可以在后台的Simple Tags的选项中设置.  
方法二,如果上面办法不可以我们可参考如下办法。

后台编辑 主题 的 functions.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);

可以看到,颜色是随机的,可以自行修改 $color = dechex(rand(0,16777215)); 这行来修改范围,这样就很炫耀哈,然后在侧边栏 sidebar.php 里调用如下代码:

复制代码
代码如下:
<?php wp_tag_cloud('smallest=8&largest=24&number=50'); ?>

 

即可,8 是最小的 tag 的字体大小(用的最少的 tag),24 是最大的(用的最多的 tag),50 是 tag 的数目,可以自行修改.

希望本文所述对大家的WordPress建站有所帮助。