Meng Yan ( 孟岩 )’s Weblog

My WordPress Plugins

by Meng Yan on Jun.25, 2005, under Blog

终于下定决心从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: 56%


11 Comments for this entry

20 Trackbacks / Pingbacks for this entry

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!