首页 > 网站建设 > 不用插件实现WordPress彩色标签云

不用插件实现WordPress彩色标签云

2010年7月29日 Tal Rasha 1,747 views 发表评论 阅读评论

WordPress自带的的标签云(Tag Cloud)默认的全部是一个颜色,只是大小不一样,所以在这里介绍一个不用插件就能显示彩色标签云的方法。

在主题的functions.php中增加以下函数

1
2
3
4
5
6
7
8
9
10
11
12
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);

此函数为玩WordPress原创

然后正常调用wp_tag_cloud函数就可以了,下面附上wp_tag_cloud的参数说明:

选项 类型 默认值 功能描述
smallest 整数 8 使用次数最少的标签的字号大小(单位由unit参数决定)
largest 整数 22 使用次数最多的标签的字号大小(单位由unit参数决定)
unit 字符串 pt 对smallest与largest的值的测量单位。可以是任何CSS长度单位,如pt, px, em, %
number 整数 45 显示在云中的实际标签数。(值为0时显示所有标签)
format 字符串 flat 所显示的云的格式。有效值包括:flat list array
separator 字符串 /n 标签之间的文本/空格,该参数引入于WordPress 2.9
orderby 字符串 name 标签的排列顺序,有效值包括:name count
order 字符串 ASC 排列顺序(升序或降序),有效值包括(必须大写):ASC DESC RAND
exclude 字符串 将要排除的标签(term_id)的ID,各ID用逗号隔开。默认不排除任何标签。
include 字符串 将要包含的标签(term_id)的ID,各ID用逗号隔开。默认包含所有标签。
link 字符串 view 设置链接,允许编辑某个指定标签。有效值包括:view edit
taxonomy 字符串 post_tag 用以生成云的分类法。有效值包括:post_tag category link_category
echo 布尔型 1 显示结果,或将结果保留在变量中。
  1. 2010年8月21日21:57 | #1

    为何不用3D的那个标签云? 其实我觉得那个蛮好看的, 我就是用的那个.

  2. 2011年3月14日02:13 | #2

    是啊,用那个比较好看

  1. 本文目前尚无任何 trackbacks 和 pingbacks.