一个专注于技术的IT男
WordPress彩色的标签云
自己写simpleblog程序的时候做过一个彩色的标签云,所以想自己写一个用到wordpress里面,后来发现网上这样的代码很多,就找了段现成的。
修改了mystique主题的widgets模板文件 ~/wp-content/themes/mystique/lib/widgets.php
可以看到重点是wordpress的这个方法add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1),我没做过wordpress开发,对这个不熟啦,
但是联想了一下Servlet的filter机制,对这个函数的理解也八九不离十啦,能用了。
<div class="tag-cloud">
<!--Colorful tag cloud -->
<?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);
?>
<!--end -->
<?php wp_tag_cloud(apply_filters('widget_tag_cloud_args', array())); ?>
</div>
mystique主题的中文翻译有问题,下载了个poedit修改了一下zh_CN.po文件,这个工具蛮方便的,能自动生成mo文件,自己更新一下主题下的mo文件就行了
~/wp-content/themes/mystique/lang/
zh_CN.mo
zh_CN.po
| 打印文章 | 这篇文章由Jacky于2010/02/07 14:56发表在WordPress。你可以订阅RSS 2.0 也可以发表评论或引用到你的网站。 |