接上一篇 wordpress另类缓存之数据库缓存标签云图之后是不是有些童鞋还想要彩色标签呢?
刚好看到走点路(域名实在个性~~)童鞋的博客上提供了不用任何插件实现 WordPress 的彩色标签云之后发现代码可以直接拿拿过来用~~~HOHO
还不会?
好吧
在functions.php中添加
[cc lang=”php”]
function colorCloud($text) {
$text = preg_replace_callback(‘||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 ““;
} [/cc]
然后在你的sidebar.php中的[cc lang=”php”]echo $rc_tags;[/cc]前面添加一行判断代码:
[cc lang=”php”](function_exists(colorCloud(‘colorCloud’))) && ($rc_tags =colorCloud($rc_tags)) ;[/cc]
好了,完美实现,缓存还是有,只是在输出的时候彩色化。
效果参考我的侧边栏
标签: 标签云图
-
缓存的云图也能做成彩色
-
wordpress另类缓存之数据库缓存标签云图
看過willin的另類的緩存方式后就想写一个类似的标签云图的缓存,无奈找了半天才找到云图标签wp_tag_cloud()的使用详情,于是就有了下面的代码:
[cc lang=”html”]类别索引
[/cc]
使用方法:将以上代码copy到sidebar.php然后在主题文件的functions.php中添加以下代码:
[cc lang=”php”]//标签缓存更新操作
function clear_rc_tags() {
update_option(‘rc_tags’, ”); // 清空 rc_comments
}
add_action(‘save_post’, ‘clear_rc_tags’); // 关于Post的任何操作[/cc]收工,就这么简单,缓存更新的触发方式我写的是当保存日志的时候触发更新操作,如果你有更好的建议请留言。
提示:willin的另類的緩存方式中更新缓存的触发操作还应该增加:
[cc lang=”php”]add_action(‘trashed_comment’, ‘clear_rc_comments’); // 当评论转移到回收站更新[/cc]
这段代码才算完美。