wordpress非插件显示彩色标签云
给你的WordPress Blog标签云(Tag Cloud)来点色彩,只需要一小段代码,不需要累赘的插件,譬如Simple Tags等。这是宝宝健康成长网曾经希望实现的,现在一切成真。先看下效果>>,还不错吧!下面来说明下不用插件实现彩色标签云的具体操作。
1、将以下代码放入当前theme的 functions.php 文件中,要放在<?php…?>中间。注:代码来自PHPABC.CN
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)); 作用是定义标签随机颜色的十进制数值范围,0 等于#000,16777215 等于#fff。你可以使用进制换算工具换算后修改这行代码,改变颜色范围。
附录:10进制颜色代码
白色:16777215 红色:16711680 绿色:65280 蓝色:255 牡丹红:16711935 青色:65535 黄色:16776960 黑色:0 海蓝:7396243 巧克力色:6042391 蓝紫色:10444703 黄铜色:11904578 亮金色:14276889 棕色:10911037 青铜色:9205843 深棕:6045747 深绿:3100463 深铜绿色:4879982 深橄榄绿:5197615 深兰花色:10040013 深紫色:8855416 深石板蓝:7021454 深铅灰色:3100495 深棕褐色:9922895 深绿松石色:7377883 暗木色:8740418 淡灰色:5526612 土灰玫瑰红色:8741731 长石色:13734517 火砖色:9315107 森林绿:2330147 金色:13467442 鲜黄色:14408560 灰色:12632256 铜绿色:5406582 青黄色:9689968 猎人绿:2186785 印度红:5123887 土黄色:10461023 浅蓝色:12638681 浅灰色:11053224 浅钢蓝色:9408445 浅木色:15319718 石灰绿色:3329330 桔黄色:14972979 褐红色:9315179 中海蓝色:3329433 中蓝色:3289805 中森林绿:7048739 中鲜黄色:15395502 中兰花色:9662683 中海绿色:4353858 中石板蓝色:8323327 中春绿色:8388352 中绿松石色:7396315 中紫红色:14381203 中木色:10911844 深藏青色:3092303 海军蓝:2302862 霓虹蓝:5066239 霓虹粉红:16740039 新深藏青色:156 新棕褐色:15452062 暗金黄色:13612347 橙色:16744192 橙红色:16720896 淡紫色:14381275 浅绿色:9419919 粉红色:12357519 李子色:15379946 石英色:14277107 艳蓝色:5855659 鲑鱼色:7291458 猩红色:12326679 海绿色:2330216 半甜巧克力色:7029286 赭色:9333539 银色:15132922 天蓝:3316172 石板蓝:32767 艳粉红色:16719022 春绿色:65407 钢蓝色:2321294 亮天蓝色:3715294 棕褐色:14390128 紫红色:14204888 石板蓝色:11397866 浓深棕色:6045747 淡浅灰色:13487565 紫罗兰色:5189455 紫罗兰红色:13382297 麦黄色:14211263 黄绿色:10079282
2、调用标签云。这要分两种情况,如果您的theme支持widgets,添加标签云模块即可;手动添加,请使用下面这段代码在博客中调用。
<?php if ( function_exists('wp_tag_cloud') ) : ?> <h2>标签云</h2> <?php wp_tag_cloud('smallest=8&largest=22'); ?> <?php endif; ?>
说明下标签云用到的参数:
smallest
(整数)(可选)使用次数最少的标签的字号大小(单位由unit参数决定)
默认值:8
largest
(整数)(可选)使用次数最多的标签的字号大小(单位由unit参数决定)
默认值:22
unit
(字符串)(可选)对smallest与largest的值的测量单位。可以是任何CSS长度单位,如pt, px, em, %。
默认值:’pt’
number
(整数)(可选)显示在云中的实际标签数。(值为’0′时显示所有标签)
默认值:45
format
(字符串)(可选)所显示的云的格式。
- ‘flat’ (默认值)标签被“separator”参数所定义的空格分隔
- ‘list’ 标签与class=’wp-tag-cloud’ 共同在UL中
- ‘array’ 标签在数组中,函数以数组方式返回标签云,以用在PHP中。注意:数组被返回,而非显示。
separator
(字符串)(可选)标签之间的文本/空格。注意:该参数引入于WordPress 2.9。
默认值:’/n’ (空格)
orderby
(字符串)(可选)标签的排列顺序。有效值包括:
- ‘name’ (默认值)
- ‘count’
order
(字符串)(可选)排列顺序(升序或降序)。有效值包括——必须大写:
- ‘ASC’ ——默认值
- ‘DESC’
- ‘RAND’ —— 以任意顺序排列标签。注意:该标签引入于WordPress 2.5。
exclude
(字符串)(可选)将要被排除的标签(term_id)的ID,各ID用逗号隔开。如 ‘exclude=5,27′表示不显示term_id为5或27的标签。默认值为不排除任何标签。
转基因培育用到了这一参数,示例:
<?php wp_tag_cloud('smallest=10&largest=22&exclude=13,21,129,229,313,253,326'); ?>
include
(字符串)(可选)要包含的标签(term_id)列表,各ID用逗号隔开。例如, ‘include=5,27′ 表示只显示term_id为5或27的标签。默认为包含所有链接。
link
(字符串)(可选)设置链接,允许编辑某个指定标签。注意:该标签引入于WordPress 2.7。有效值包括:
- ‘view’ (默认值)
- ‘edit’
taxonomy
(字符串)(可选)用以生成云的分类法。注意:该标签引入于WordPress2.8。
- ‘post_tag’ —— (默认值)将文章标签当作云的来源
- ‘category’ —— 用文章分类生成云
- ‘link_category’ —— 用链接分类目录生成云
echo
(布尔型)(可选)显示结果,或将结果保留在变量中。默认值为true(显示标签云)。注意:该标签引入于WordPress2.8。有效值包括:
- 1 (true) —— 默认值
- 0 (false)
相关阅读: