程序员人生 网站导航

WordPress 非插件实现彩色标签云

栏目:WordPress时间:2014-03-15 12:00:01

今天再网上看到了不用插件实现彩色标签的方法,本着尽量少用插件打造美观高效博客的思想,将此方法收藏起来,在此与大家分享。

标签云调用的函数是:

<?php wp_tag_cloud(); ?>

该函数包括以下基本参数:

smallest:最小字体,默认为8
largest:最大字体,默认为22(因为标签云会根据标签的使用频率将使用频率高的表情自动放大)
unit:字符大小的单位(例如pt,px,em)默认为pt
number:显示标签个数(为0时显示所有标签),默认为45
format:显示方式,flat(默认,以空格分隔)

以上各参数以”&”符号连接.不必都填,不填的参数以默认值为准.

根据以上参数介绍,我们可以对其进行简单的参数设置如下:

<?php wp_tag_cloud('number=50&largest=24&smallest=12&unit=px'); ?>

好啦,以上是我们对标签云函数的简单了解,下面讲讲如何实现彩色标签。

将下面的表情加入到主题下的 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);

【效果图】

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐