My WordPress Plugins

终于下定决心从MT牵移到WordPress,原因有二:免费、开源。

牵移过程非常简单,首先从MT导出数据,然后用WordPress中的“import-mt.php”脚本导入就可以了。详细过程可以参考《Moving from movable type to WordPress》

周五晚上用了2个小时做了一个和原来用MT时候一样的模板,整理一下会共享出来。:-)

一直听说WordPress的插件非常强大,事实证明,确实如此。闲下来一定要好好研究一下。我目前装的WordPress的插件主要有:

1) Google Sitemap Generator for WordPress

Google推出Sitemap协议来简化爬虫的工作,更好的进行网站的索引。利用Sitemap协议,网站的更新可以自动的Ping到Google,Google只需要订阅这些信息源,这样可以更好的收录网站的内容。这个过程很像我们订阅RSS信息源,把随意的信息获取变为信息的主动推送。

MT和WordPress对Sitemap都有很好的支持。MT中比较好的是《Google Sitemaps using Movable Type》,只需新建一个模板,然后每次Rebuild的时候重新生成Sitemap.xml文件。

我用的WordPress的Sitemap插件是《Google Sitemap Generator for WordPress》,最新版本是2.5。这个插件非常强大,而且安装简单,只需把下载的文件解压放到Plugin目录下,然后激活插件,就可以看到在Option下多了一个Sitemap选项。在这个选项中,我们可以设定Sitemap生成的一些选项,比如站点文件范围、更新频率等等,甚至还能够直接Ping到Google,通知更新。

2) WordPress FeedBurner Plugin

我使用Feedburner来烧制了我的RSS,在用MT时只是在页面上显示了FeedBurner的RSS源。这个插件可以把页面Link Meta中的各种RSS源,包括RSS0.9、RSS2.0、RDF、ATOM都通过URL重写来定位到你在Feedburner的Feed地址。

Update(2005.07.01):任何中心化的服务都由其固有的风险,其自身的服务运营能力是一方面,我们的大墙又是另一个因素:(。搞IT的都知道,任何问题都可以通过增加一层的抽象和Wrapper来解决问题,Feedburner的Wapper可以方便的帮助我们隐藏实际的Feed的细节,那么,我们也可以再来Wrapper一下:)。

Feedburner Plugin的原理就是一个重定向,因此,无需任何Hack,只要把你在Feedburner Plugin里面重定向的URL变成你的再次加工的Wrapper URL即可,对于我来说,就是输入:http://feed.mengyan.org/(feed.mengyan.org这个子域名指向了Feedburner,今后可以指向其它的地方)。

3) StatTraq

StatTraq是一个强大的WordPress日志分析插件,可以非常详细的分析你Blog的访问情况(比如浏览量,访问人数,搜索引擎关键字,反向链接等)。安装过程非常简单:下载最新版本的插件,解压后放到你的WP安装目录中(包括一个插件以及一个“wp-stattraq”的文件夹)。首先运行/wp-stattraq/stattraq-install.php来完成一些必要的数据库建表操作,然后删除此文件。最后进行插件激活就可以运行了(http://yoursite/wp-stattraq/index.php)。

Update (2005.06.30): 开始我的日志中无法看到详细的PageView,只是简单的Mix Post和Feed,很奇怪,于是Hack了一下StatTraq,最后发现他是ArticleID来记录访问的单个日志。因此,如果你希望有详细的PageView,你的Permalinks中必须包含PostID(宏%post_id%)。

Update (2005.08.30): Hack一下,增加对Baidu、Sogou这两个中国搜索引擎的支持。

4) Jerome’s Keywords

网站支持Tag绝对是非常必要的,Tag有利于我们更好的组织、搜索以及分享自己的文章。Jerome’s Keywords其实是一个WordPress的Tag插件,它可以:

方便的为你的文章添加关键字(其实就是Tag)

利用关键字来进行站内搜索

被Blog搜索引擎Technoratis搜索(在Atom Fees中添加Tag信息

实现站内的类似FlickrDelicious的Tag云

在网页头的Meta中添加Tag的关键字信息(虽然由于Spam的原因,Meta Keywords已经不在被大多数搜索引擎所使用了)

安装过程非常简单,首先将下载后的文件解压缩至Plugins文件夹,然后激活插件,还需要重新保存Options中的Permalinks选项,以便重写.htaccess。接下来会发现在Write的时候Content下面多了一个Keyword的输入区域,就是用来输入关键字(默认以“,”作为分隔)。

怎样显示文章的Tag?

将这句Tags: <?php the_post_keytags(); ?>加到要显示Tag的地方。还可以用参数来调整输出,包括“是否把分类转为Tag”、“站内Search还是Technoratis”、“链接标题”等等。

怎样创建Tag云?

创建一个新的模板文件,可以参考Jerome给出的例子。然后在管理页面中新建一页,将页面命名(post-slug)为“Tags”或者“Cosmos”,并把此页的模板选定为刚才创建的模板,保存即可。有一个问题是all_keywords()函数中的链接用的是绝对链接“/tag/%keylink%”,因此如果你用了转向的话,可能需要调整这个参数。

怎样在网页头中添加Meta信息?

只需在网页头的区域内(在<head>和</head>之间)添加<meta name=”keywords” content=”<?php the_keywords(); ?>” />即可。

Update(2006.01.19):

最终,这个插件还是被Ultimate Tag Warrior所替代了。

5) Recent PostRecent CommentsMost Commented

这三个插件都是Nick Momrik的作品。顾名思义,分别是用来显示“最新文章”、“最新留言”以及“最多留言的文章”的。如果感兴趣还可以在他的主页上找到很多有趣的插件。

这三个插件的工作原理很简单,通过数据库查询得到要显示的信息,然后直接“Echo”出来。控制格式则是你需要通过CSS来进行的。

安装也非常简单,只需要把相关的插件文件(PHP)解压到Plugin目录下,然后激活插件,就可以利用插件中提供的API函数来输出了。这三个插件的Readme文件非常详细的说明了插件API的参数,我使用的参数为:

mdv_recent_posts(5, ‘<li>’, ‘</li>’, true, 0, false);

mdv_recent_comments(5, 7, ‘<li>’, ‘</li>’, true, 0);

mdv_most_commented(5, ‘<li>’, ‘</li>’, true);

Update:

GetRecentComments Plugin代替Recent Comments,因为Recent_Comments不会对超长的URL进行自动截断,因此碰到留有URL的Comments,通常会导致网页布局被破坏。GetRecentComments则比较方便,不过使用方法不太一致,采用在”Option/Recent Comments”设置的方式代替代码中传递参数的方式。

之后发现,GetRecentComment只是采用简单的WrapWord来进行切词,因此中文编码会有问题。最后放弃此插件 :-( ,采用下面所说的AutoHyperLink来修饰URL。

6) wpLicense

wpLicense是WordPress中允许用户选择Creative Commons License的插件。安装很简单,只需要解压到”wp-content/plugins”目录下,然后在菜单”Options” -> “Content License”下配置即可。最后会在每页的Footer中添加CC版权信息。

7) Random Post

当你的Blog日渐丰富,可以考虑让那些陈年老文出来晒晒太阳,就用这个Random Post就不错。相信看了WordPress的插件结构,就能明白这个插件的基本原理。

  1. $sql = "SELECT ID, post_title, post_date, post_content FROM $tableposts WHERE post_status = 'publish' ";
  2. if(!$show_pass_post) $sql .= "AND post_password ='' ";
  3. $sql .= "ORDER BY RAND() LIMIT $limit";
  4. ?>

这个插件就是提供了一个random_post的API,随机从数据库中取出一些Entries。

使用起来也很简单,这是在我的Blog中的使用:

<?php random_posts(10, 100, ‘<li>’, ‘</li>’, true, true); ?>

8) WordPress Code Highlight Plugin

因为我经常会在我的Blog中贴一些代码,所以这个插件对我非常有用。从前曾经用过一些在线工具,比如CodeColorizer,就可以对代码进行加亮。

这个插件利用各种语言(C、Java、PHP…)的关键字的高亮(Keyword Highlight)来美化Post出来的代码。比如下面这段PHP代码:

  1. $hello =& new HelloWorld();
  2.  
  3. while(!$hello->hasSaidHello())
  4. {
  5. $hello->sayHello();
  6. $hello->sayHowAreYa();
  7. }
  8.  
  9. $hello->sayBye();
  10.  
  11. unset($hello);
  12.  
  13. ?>

这个插件的安装过程如下:

首先,安装这个插件需要的三个库PEARXML_ParserText_Highlighter

然后,将”add_css.css”中的样式信息添加到你的主CSS中;

使用起来很简单:

[code lang="lang"]code[/code ]

其中"lang"是所支持的语言,包括:

* cpp
* css
* diff
* dtd
* java
* javascript
* mysql
* perl
* php
* python
* ruby
* sql
* xml

将"lang"设置为lang或者一种不支持的语言,将不会高亮代码。

Update (2005.10.09) :

CoolCode : 基于这个插件的改进,增加了行号等,不错。

9) AutoHyperLink

用来解决DIV中的URL过长破坏Layout的问题,这个问题不能通过CSS来解决(同时在IE和Firefox上显示良好)。事实上,这个插件的功能还很多,比如给Text-Plain的URL加上自动链接等等。

10) Extended Live Archive

很多Blog软件查询历史文章都很困难,WordPress也存在这样的问题,这个插件能够将你所有的文章很方便的利用时间和分类信息进行显示。它还利用了AJAX技术,易用性得到了提高。

这个插件的安装步骤比较多,可以参考下面这两篇文章。

详解Extended Live Archive Plugin的安装

Extended Live Archive Plugin 教學

这是我的Archive存档,可以看看效果。

11) Better Feed

用来增加WordPress的Feed的功能,主要包括:

  1. 增加"Read More"链接
  2. 增加类似"Comments(5)"这样的信息
  3. 增加版权信息
  4. 增加technorati搜索、del.icio.us添加网摘等链接

我一直觉得RSS阅读应该是Web阅读的方向,而RSS的提供者也应该在RSS中提供给阅读者尽可能多的信息,对于那些为了增加点击量而不用全文的,我觉得不可取。:P

12) Spam Karma

大名鼎鼎的Anti Spam插件,最近被Comment Spam, Trackback Spam, Refer Spam烦死了,装上试试。

13) Ultimate Tag Warrior

因为WP2.0的原因偶尔看到这个插件,Tag的功能和使用比起Jerome's Keywords实在是强了太多,比如根据Tag的相关文章(曾经Hack过Jeromoe来支持这个功能),于是转而使用这个插件。使用方法就不写了,推荐看天佑的文章 - 《Ultimate Tag Warrior 教學》

14) Subscribe me plugin for WordPress

增加订阅图标,比如针对Bloglines, My Yahoo, Google Reader等等,比起自己写来说方便管理,这也是插件的一个最大好处。

15) WP-Dash

WP-Dash是一个非常酷的Dash插件,利用它,可以替代WP默认的那个又慢又没用的Dashboard界面。这个插件提供RSS Aggregator,Quick Post,Note等Widget,同时,你也可以利用它的API来制作自己的Widget。这也是Google IG和Windows Live的战略

16) SpotMilk

The SpotMilk theme is inspired by Spotlight on Mac OS X Tiger and the Milk theme by Max Rudberg, and the main layout is based on the default admin theme in WP 1.5 & 2.0.

如果你也对WP默认的插件有些腻了,不妨试试这个插件。:-)

修改历史:

2005.06.24 - 创建

2005.06.26 - 增加Jerome's Keywords Plugin

2005.06.30 - 增加Recent PostRecentCommentsMost Commented,修改StatTraq部分

2005.07.01 - 修改Feedburner插件,增加Sub-Domain转向

2005.07.14 - 增加wpLicense插件

2005.07.20 - 增加random post插件

2005.07.21 - 增加WordPress Code Highlight Plugin

2005.08.30 - 用GetRecentComments代替Recent Comments,修改StatTraq部分,增加对Baidu和Sogou的支持,增加AutoHyperLink

2005.08.31 - 增加Extended Live Archive

2005.09.21 - 增加Better Feed Plugin

2005.10.09 - 用CoolCode Plugin代替Code Highlight Plugin

2005.11.26 - 增加Spam Karma插件

2006.01.19 - 增加Ultimate Tag Warrior,Sem Subscribe Me

2006.01.22 - 增加WP-DashSpotMilk插件

Popularity: 50% [?]

Related entries:

32 Responses to “My WordPress Plugins”

  1. Meng Yan @ Weblog » Dissect WordPress Plugin Says:

    [...] 自从开始使用WordPress,就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.3)。虽然对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  2. Xerdoc Together » Dissect WordPress Plugin Says:

    [...] 自从开始使用WordPress,就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.3)。虽然对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  3. Joey Says:

    好文,我按照您的方法安装了这些插件,多谢。

  4. scavin Says:

    Jerome’s Keywords中显示文章的Tag参数来调整输出,包括“是否把分类转为Tag”、“站内Search还是Technoratis”、“链接标题”等等。
    这个参数怎么用啊~

  5. dreamwords Says:

    第一个参数如果为True,将把你的分类(Category)也作为一个Tag;
    第二个参数如果为”Technoratis”,则Tag的访问链接将访问Technoratis,否则访问本地的Tag;
    第三个参数是链接的标题,比如默认为’Search site for ‘ or ‘Technorati tag page for ‘。

  6. 沉默旅团的刻字板 Says:

    useful WordPress plugins

    –20050902–
    WordPress Navigation Bar
    –20050901–
    Extended Live Archive
    –20050831–
    WordPress Code Highlight Plugin
    CoolCode
    Meng Yan
    –20050830–
    GetRecentComments
    http://blog.jodies.de/blog/20041113/
    &#8211…

  7. 沉默旅团的刻字板 » Blog Archive » useful WordPress plugins Says:

    [...] –20050911– Flash Filter Plus and AsySound. 可以放MP3, –20050902– WordPress Navigation Bar 导航标签 –20050901– Extended Live Archive 归档 –20050831– WordPress Code Highlight Plugin code高亮插件, 还没有调试正常 CoolCode Meng Yan –20050830– GetRecentComments 过往评论 http://blog.jodies.de/blog/20041113/ [...]

  8. 数字图书馆前沿问题高级研讨班 » Blog Archive » Plugin:Jerome’s Keywords Plugin Says:

    [...] 其他WordPress的插件可以参考:“My WordPress Plugins” Tags: WordPress, 插件 [...]

  9. 韬略 Says:

    哇, 没有想到我想找到插件这里都有. 非常感谢. 值得收藏!

  10. Meng Yan Says:

    :-)

  11. 记忆的空城 » Tag, Trackback和Wordpress plugin Says:

    [...] 关于WordPress的使用和一些插件的中文说明: 沪江博客:WordPress 新手指南 窝子网志|WozLog使用的WP插件及应用列表 未完成:我所使用的WordPress插件 MengYan: My WordPress Plugins Blogging Pro China,WP插件、主题的收录和论坛 [...]

  12. GoTop’s Blog » Blog Archive » links for 2006-02-08 Says:

    [...] Meng Yan ( 孟岩 ) @ Weblog » Blog Archive » My WordPress Plugins (tags: wordpress) [...]

  13. Jason's blog Says:

    WordPress Plugin: Jerome’s Keywords…

          Jerome’s Keywords 是一个WordPress的Tag插件,它可以方便的为你的文章添加Tag(关键字),利用Tag来进行站内搜索,创建站内的Tag云,例如我的Tag云。
          安装非常简单,下载后上传到Pl…

  14. BiZwiKi.CN - 喧闹 PK 噪音 » Blog Archive » links for 2006-05-26 Says:

    [...] Meng Yan ( 孟岩 ) @ Weblog » Blog Archive » My WordPress Plugins 一篇常用WordPress 插件的推荐教程 (tags: blog wordpress Plugins plugin tips wp) [...]

  15. Lakers部落手記 » Lakers Blog’s plugins Says:

    [...] 在 Meng Yan ( 孟岩 ) @ Weblog 的看到了一些不錯的plugin,裝起來試試… [...]

  16. Suave’s Blog » Add some plugins Says:

    [...] MengYan’s My WordPress Plugins [...]

  17. albert Says:

    两个小时就能做一个模板啊,厉害

  18. {301}个人媒体中心 » Blog Archive » links for 2007-01-30 Says:

    [...] Meng Yan ( 孟岩 ) @ Weblog » Blog Archive » My WordPress Plugins 很有建设性的WP插件推荐。 (tags: WP 插件) [...]

  19. 每日阅读 » links for 2007-02-24 Says:

    [...] Meng Yan ( 孟岩 ) @ Weblog » Blog Archive » My WordPress Plugins (tags: WordPress_Plugin) [...]

  20. 百变贝贝 Says:

    不错,谢谢!

  21. 方便在wordpress中使用Creative Commons的插件wpLicense at SM。生活 Says:

    [...] 在Meng Yan ( 孟岩 ) @ Weblog的網誌中看到wpLicense這個插件,使用這個插件可以在你的網誌底部加入顯示Creative Commons License。這個插件的使用十分簡單從Creative Commons 下載wpLicense0.75 ,解壓後將wpLicense.php和wpLicense資料夾放到”wp-content/plugins” 內到後台啟動它,在選項(Options)中會多了一項Content License,在Content License中你可選擇你要使用的Creative Commons協議方式. [...]

  22. 中文域名申请 Says:

    菜鸟学习中,^_^

  23. cocobear Says:

    不错的文章 , 我是刚开始用wordpress,也没用几个插件,今天 刚装的google-sitemap-generator,还不知道怎么用,激活就可以了吗?

  24. 沿着 Says:

    受教

  25. IdeaGrace博客 » Blog Archive » Dissect WordPress Plugin(深入剖析WordPress插件机制)[转] Says:

    [...] 自从开始使用WordPress, 就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.1.3)。虽然 对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  26. 出家如初,成佛有余 » Dissect WordPress Plugin Says:

    [...] 自从开始使用WordPress,就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.1.3)。虽然对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  27. 冰山上的播客 » Blog Archive » Dissect WordPress Plugin Says:

    [...] 自从开始使用WordPress, 就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.1.3)。虽然 对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  28. Bar Code Generator Says:

    Postal code Bar…

    A ZIP Code is the postal code used by the United States Postal Service, zip code maps free which always writes it with capital letters….

  29. Ming’s Blog » Blog Archive » Dissect WordPress Plugin(深入剖析WordPress插件机制) Says:

    [...] 自从开始使用WordPress, 就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.1.3)。虽然 对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  30. robert.chen Says:

    这个页面我一直收藏,今天来看了,发现又有更新。

    希望能坚持!

  31. 虾客的随想 » 深入剖析WordPress插件机制 Says:

    [...] 自从开始使用WordPress, 就想学习学习WordPress强大的插件机制。以前曾经研究过的COM、XPCOM、Firefox Extensions、Eclipse Plugin都是桌面应用级别的组件结构,而对Web应用中的插件确实知之甚少,于是,Dissect了一下WordPress(1.5.1.3)。虽然 对PHP不是很熟悉,不过看看源码还是问题不大。 [...]

  32. 温馨小窝 » 深入剖析WordPress插件机制2 Says:

    [...] 再来看看曾经说过的Google Sitemap插件,插件中有一项功能是在发布、修改或者删除文章的时候重新Build Sitemap文件,这个功能就是通过注册系统的三个事件(“publish_post”,“edit_post”,“delete_post”)来完成的。 [...]

Leave a comment

(required)

(required)


Information for comment users
Line and paragraph breaks are implemented automatically. Your e-mail address is never displayed. Please consider what you're posting.

Use the buttons below to customise your comment.


RSS feed for comments on this post | TrackBack URI