让你的wordpress主题显示彩色的标签云

给你的Wordpress Blog主题标签云(Tag Cloud)来点色彩,只需要一小段代码,不需要累赘的插件,譬如Simple Tags等。这是百奥博曾经希望实现的,现在一切成真。先看下效果>>,还不错吧!下面来说明下不用插件实现彩色标签云的具体操作。

1、将以下代码放入当前theme的 functions.php 文件中,要放在<?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)); 作用是定义标签随机颜色的十进制数值范围,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)

滚动至顶部