Tag Image for UTW
August 4th, 2007 at 01:55am 雪山飞猪 浏览: 1,915
事先申明下这不是一个插件,只是本人帮朋友写的一个函数,对于 UTW 的一个有意义的补充,呵呵。主要的想法是博客翻译达人吴智勇在看到本人写的天下最简单的插件:Category Image,之后问我能否写个 Tag image 插件,得知智勇兄使用的 UTW 这款超强悍的 Tag 插件之后,想想,只要写个函数即可实现,hoho。主要的思路是这样子:获取当前日志的 tag,把 tag 转换成相应名字的图片即可。所以有了以下代码:
function UTW_ShowTagsImageForCurrentPost($content) { global $utw, $post; $tags = $utw->GetTagsForPost($post->ID , 0); //get tags for current post. $images = ""; foreach(($tags) as $tag) { $tag_images_url = get_settings('siteurl'). "/wp-content/tag-images/tag-".$tag->tag.".gif"; $tag_images_dir = ABSPATH . "wp-content/tag-images/tag-".$tag->tag.".gif"; if( file_exists ( $tag_images_dir )){ $images = $images . '<a href="' . get_settings('siteurl') . '/tag/' . $tag->tag. '" title="TAG:'.$tag->tag.'">' . '<img src="' . $tag_images_url . '" alt = "TAG:'. $tag->tag.'" style="padding:2px;"></a>'; } } if (count($tags)>1){ $content = $content . "<p>" . $images . "</p>"; } return $content; }
上面这个函数通过 UTW 类的实例 $utw 的 GetTagsForPost 获取当前日志的 tags,然后对每个 tag,查找在 wp-content/tag-images/ 目录下是否有名为 tag-xxx.gif (xxx 为 tag 的名字) 的图片,如果有把该图片显示出来,并给他加上 tag 存档链接。最后会在文章后面显示一排当前日志对应的 tag 图片。最后为了让日志自动显示图片,而不用手工修改主题。可以在在这个函数后面加上这个 filter hook:
add_filter('the_content', 'UTW_ShowTagsImageForCurrentPost',1);
然后把代码添加 UTW 插件中 ultimate-tag-warrior.php 文件即可。
最后需要在 wp-content 创建 tag-images 文件夹,然后在该文件夹中根据每个 tag 的名字创建 tag-xxx.gif (xxx 为 tag 的名字) 的图片。另外我代码中没有控制图片大小的,你可以自己在 style= 后面加上,个人建议上传 15X15 大小的图片为最合适。
具体效果可以看吴智勇的博客:博客精品翻译,由于他的每篇日志只使用了一个 tag 所以设置为在日志的右上角显示图片。
另外该函数可能不支持中文的 tag,现在有点懒不想写成支持中文 tag,如果有人有这个需求,请给我留言吧!
作者:雪山飞猪
原文链接:Tag Image for UTW
我爱水煮鱼版权所有,转载时必须以链接形式注明作者和原始出处及本声明。









1. 艾迪 | August 4th, 2007 at 10:06 pm
不错!
月光写了一个类似的函数,用在了z-blog上,他的博客每个文章都有一个漂亮的图,效果不错。
楼主这个插件实现了相同的功能,使用wordpress的有福了。
大力支持!顶!
[回复该留言]
2. 白驼山人 | August 11th, 2007 at 2:07 am
楼上是什么意思?
不懂啊.月光博客的图和这里说的不是一样的啊,这里是tag图.
好象没人需要这个.具体效果在吴智勇的博客上也看不到.
汗!
[回复该留言]