不用插件实现WordPress彩色标签云
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 | 显示结果,或将结果保留在变量中。 |
为何不用3D的那个标签云? 其实我觉得那个蛮好看的, 我就是用的那个.
是啊,用那个比较好看