首页 > Web2.0思考 > 让你的blog实现tag功能(上)

让你的blog实现tag功能(上)

2006年11月25日

最近这几天,忙着给自己的blog增加tag(标签)功能,tag是blog系统最基础的一个功能,主要是方便作者根据发布的文章内容设定关键字,通过这个关键字来实现相关文章的检索,再高级点的功能还能够实现tags cloud,通过这个cloud可以帮助用户更好的了解blog作者的关注点和热门的文章内容。

以本人使用的wordpress系统为例,在网上检索了大量文章,发现比较准确全面介绍如何实现tag功能的文章并不多,因此决定把自己设定tag功能的过程写出来,与大家分享,如果你用的也是wordpress,恰好还没有tag这个功能,那就仔细看下吧。

目前使用比较多的两个tag插件主要是:Ultimate Tag WarriorJerome’s Keywords Plugin,由于Ultimate Tag Warrior的开发作者网站已经上不去了,为了避免以后出问题不好解决,我首先选择了Jerome’s Keywords Plugin使用。

实现最基本的tags功能

一,先登陆Jerome的开发网站,下载最新的插件版本,解压缩后文件夹中包括两个文件:jeromes-keywords.php和一个license.txt。

二,将jeromes-keywords.php文件通过FTP上传到你的blog系统中的wp-content/plugins文件夹中,然后在WEB下进入wordpress的控制面版,进入插件管理的栏目,找到jeromes-keywords这个插件并激活它。

三,插件启动后,你可以发布新的blog文章,如果没有问题的话,在发布新的post的内容输入块下面将会出现一个“Keywords”的输入框,你可以输入你要设定的关键字,也就是tag了。注意,如果你选择的themes与插件有冲突的话,这个关键字输入框就出不来,那时候,可能你只能重新选择一款theme了。

四,解决了发布页设定tag的功能后,下面就是如何让这些设定的tag能够在你的blog首页上显示出来,其中可能包括两个地方:一个是你的blog首页,另外一个就是每篇blog的页面上,因此你需要修改wp-content/themes/yourtheme/的两个文件:index.php和single.php。

五,你可以直接在WEB下控制面板的theme编辑器中修改这两个文件,也可以通过线下修改FTP覆盖的方式来改,请确保这两个文件是可写入的。在这两个文件中各加入一句代码:Tags:< ?php the_post_keytags(); ? >(请去掉两个?前后的空格),注意加入的位置你可以任意选择,一般会放在post内容的末尾,但要保证在一个loop之间。

稍微解释下什么是一个loop,通过wordpress的官方网站,你可以看到一个loop就是:一段开始和结束代码之间,只要确保上面的代码在这个loop当中就可以了。

六,放入代码后,更新文件,刷新你的blog首页,然后点击一篇blog文章,你会发现你刚才设定的tag关键字已经全部显示出来了,通过点击tag的连接你可以看到所有设定同一个关键字的文章,这也就实现了最基本的tag功能。

实现tags cloud(Cosmos,云图)

Jerome’s Keywords Plugin还提供了更高级的tags Cosmos(云图)功能,也即实现了对tags的汇总,并通过字体大小的不同来显示这个tag的关注程度,个人认为,这个功能其实主要是对blog作者关注内容的一个体现,并且能够给你的阅读者提供参考。

先说说实现Cosmos的条件,只有你的主机能够支持mod_rewrite功能时,你才能够实现这个功能,我现在这个服务器就是不支持这个功能,以致于这么好的东西用不了(现在的cloud显示是好的,但link是错的)。首先查下你的blog根目录下是否有.htaccess这个文件,由于它是个隐藏文件,因此你要调整FTP显示状态为“可显示hidden文件”,如果没有这个文件,很可能你的服务器就不支持这个功能了。

一,先去下载作者提供的模板文件:cosmos.php,将这个文件上传到wp-content/themes/yourtheme/下,然后在WEB下控制面板里新建立一个page,注意在右边的模板template列表里选择“cosmos”就可以了,名字可以随便起一个,比如tags。

二,查看新建立的tags这个页面,你发现所有的tag及不同字体的呈现效果已经出来了,但是你会发现这些连接都是目录结构的,比如www.caozenghui.cn/tag/blog,而生成的tag都是以?和数字形成的,这个时候就需要上面提到的.htaccess这个文件了。

三,进入控制面板,在选项(options)里,你需要设定你的永久连接(permalinks),选择自定义格式:/blog/…,原来的文章?数字格式就会变成目录结构了,同时,下面会出现一段代码,你需要将这段代码拷贝到.htaccess文件中。如果你根目录下没有这个文件,可以本地建一个temp.htaccess,上传到blog的根目录下,然后把temp去掉就可以了。

四,检查新形成的目录结构是否可用,如果依然不可用,那说明你的主机真的不支持mod_rewrite,我的就是,真是不甘心啊。如果可以用了,那恭喜你,你的tags cosmos也实现了,另外你还可以把这个cloud放在其他页面位置上。

Web2.0思考

  1. 2006年11月25日19:23 | #1

    Ultimate Tag Warrior要修改数据库,就这个原因就不能使用他。

  2. 2006年11月25日21:51 | #2

    TO:williamlong,最近我打算尝试下UTW,没办法,JK在我这主机也是有点问题,不过相对而言,UTW的功能比JK要好一些。

  3. 2006年11月25日23:52 | #3

    Ultimate Tag Warrior只不过是被墙了而已.

  4. 2006年11月26日00:19 | #4

    功能虽多,但是带来的风险也大,比如WordPress升级会带来不可预知的麻烦,相比来说,不修改数据库的jeromes-keywords要更稳妥一些,我就是在用jeromes-keywords,感觉其功能也足够用了。

  5. 2006年11月26日07:28 | #5

    TO:williamlong,对,我也觉得是,Jk实现的tag功能基本已经足够了,相对来说,JK比UTW用起来更方便,谢谢你的提醒啊。多交流。

  6. mci
    2006年12月1日13:38 | #6

    我现在用的也是jk这个插件,觉得已经足够了,云图确实不错,但是如果冒着升级数据库的问题,那我还是放弃了。

  7. 2006年12月26日14:39 | #7

    不错,还有(下)?在哪啊?

  8. 2006年12月26日15:00 | #8

    TO:Keenzy,下还没有写,希望能尽快有精力完善下一部分。谢谢关注。多交流。

  9. 2006年12月27日12:57 | #9

    昨天试用了这个插件,还是挺适合我的blog的(支持mod_rewrite)
    再修改下就放到blog上了

  10. 2006年12月27日16:02 | #10

    TO:Keenzy,那恭喜你了,MD,我的不能使用这个命令,这个破服务器,我问过,人家说不支持!后来就没努力。

  11. 2007年4月30日21:48 | #11

    非常感谢你的文章,我也安装成功啦。
    SHOW 一下我的博客里面的TAGS:
    http://www.victor1.cn/

  12. 2007年6月3日10:00 | #12

    girtsdq dlhi vrxcptlyu nvxckihy xcnousew xfmagdso jqyluk

  13. 2007年6月29日10:05 | #13

    This is exactly what I expected to find out after reading the title 让你的blog实现tag功能(上)  ⊙ 一言谈 | Telecom and Web2.0 Observe. Thanks for informative article

  14. 2007年7月2日10:36 | #14

    Thanks a bunch!

  15. 2007年7月31日13:39 | #15

    excellent!t

  16. 2007年8月8日12:02 | #16

    that\’s neat!o

  17. 2007年8月23日05:20 | #17

    We are killing the rainforest

  18. 2007年9月20日05:48 | #18

    Very effective. Thanx.

  19. 2007年10月3日04:38 | #19

    The school paddle is, is not an effective instrument to deal with bad students

  20. 2007年10月3日19:29 | #20

    cidtfmo cjswnvb sazynvmgj mtgef neopwf kfqbucz mdfuszj

  21. 2007年10月6日23:45 | #21

    I’ve basically been doing nothing worth mentioning. Today was a total loss. That’s how it is. Today was a loss. Basically nothing seems important, but eh. My mind is like an empty room. Basically nothing notable happening these days. My life’s been completely boring today.

  22. 2008年2月10日03:06 | #22

    I’d prefer reading in my native language, because my knowledge of your languange is no so well. But it was interesting! Look for some my links:

  23. 2008年2月10日10:51 | #23

    I’d prefer reading in my native language, because my knowledge of your languange is no so well. But it was interesting! Look for some my links:

  24. 2008年10月20日04:04 | #24

    In the US, the threat is that companies ,

  25. st
    2009年8月19日20:42 | #25

    囧,还以为会写Tag的实现方式呢,搞了半天是写如何在wp中配置插件。。。
    非技术文章。标题党啊

  1. 2007年1月6日12:05 | #1
  2. 2007年1月6日20:34 | #2
  3. 2007年2月17日09:41 | #3
  4. 2007年2月18日00:54 | #4
  5. 2007年2月24日10:16 | #5
  6. 2007年2月24日10:44 | #6
  7. 2007年4月4日08:05 | #7
  8. 2007年5月31日09:01 | #8
  9. 2007年5月31日10:29 | #9
  10. 2007年5月31日12:01 | #10
  11. 2007年5月31日23:57 | #11
  12. 2007年6月3日23:02 | #12
  13. 2007年6月4日01:15 | #13
  14. 2007年6月4日14:54 | #14
  15. 2007年6月5日00:58 | #15
  16. 2007年6月5日01:48 | #16
  17. 2007年6月5日02:55 | #17
  18. 2007年6月5日04:05 | #18
  19. 2007年6月5日13:42 | #19
  20. 2007年6月5日19:33 | #20
  21. 2007年6月5日22:06 | #21
  22. 2007年6月6日01:10 | #22
  23. 2007年6月6日02:05 | #23
  24. 2007年6月6日05:58 | #24
  25. 2007年6月6日14:32 | #25
  26. 2007年6月8日08:11 | #26
  27. 2007年6月9日04:30 | #27
  28. 2007年6月9日08:57 | #28
  29. 2007年8月18日20:49 | #29
  30. 2007年11月8日08:39 | #30