Wordpress插件开发实例

Posted April 23rd, 2009. Filed under Internet

一直想写一篇关于Wordpress插件开发的文章,但是一些插件开发的基础知识,描述起来需要很大的篇幅,因此我就借助他人的知识来完成一篇开发实例吧。

如果你想要做一个wordpress的插件,你可能会问以下两个问题:
1. Wordpress的插件是如何工作的?
2. Wordpress的插件是如何开发的?

首先,给大家介绍一下Wordpress插件的工作原理。

Wordpress的大部分插件都是对程序的输出内容进行修改,比如在侧边栏添加一个flickr相册、加入最新评论等内容,在这个过程里面有一个叫hook的概念。hook的本义是“钩子”,衍伸到IT行业来说,就是把原有的输出或者通讯半路拦截下来并加入自定义内容的一个过程。

因此Wordpress插件在内容方面的基本工作原理就是hook,在Wordpress的官方API中,这种hook行为被定义为filter(过滤)。

在实现对内容进行hook的过程当中,插件可能需要一系列的连锁反应,以评论为例,由于评论的行为发生频率并不高,因此评论的总数是没有必要实时去更新的,当新评论产生时再更新是比较合适的办法。

为此,Wordpress提供了事件驱动的模型,通过API可以很方便地绑定各种行为,这个API被称作action

了解了Wordpress插件的工作原理之后,下面给大家介绍一下关于插件开发的基础知识,由于描述起来比较复杂,所以这里大家可以参考水煮鱼的文章《自己动手写Wordpress插件》,这篇文章分几个部分,描述得比较详细。

开发一个Wordpress插件需要php、mysql、js以及CSS(甚至flash)等各个方面的知识,因此对人的综合素质要求还是颇高的,但事实上并不难,下面我就结合《Achome Comment Flow》这个插件的开发过程,给大家做一个范例演示。

首先从程序架构上来分析:

Achome Comment Flow的数据流分为三个部分,即数据库、数据处理中心和数据输出。
程序架构也由三个部分构成,分别是php源码、widget配置和flash前端展示。
从下面这种结构图,大家可以非常清晰地理解它的结构:

wp_comment_flow_structure

其次从开发步骤来分析:
1. 编写代码注册widget
2. 编写代码注册widget的编辑面板
3. 根据widget的选项生成配置参数,传递给前端flash
4. 每次配置完毕或有新评论产生,重新生成供flash调用的XML文件

有兴趣的朋友可以下载Achome Comment Flow的源码进行分析,里面有详细的注释,有问题可以给我留言。

qtip轻松实现tooltips效果

Posted April 14th, 2009. Filed under Javascript

最近发现了一个基于jquery的tooltips插件(来自于Craig Thompson的作品),名字很可爱,叫做qtip。看到它的时候,内心涌出了一丝惭愧,因为我在07年的时候就想基于jquery来开发一个这样的插件,但“明日复明日”,到了09年还没有动工,倒是发现人家已经发展得很不错了,只好用“站在巨人的肩膀上才能看得更远”来安慰自己了。


主页地址:http://craigsworks.com/projects/qtip/

由于我在博客最新版的主题中取消了以往的评论tooltips效果,所以打算使用qtip来代替(参照“最新留言”的效果)。

qtip的使用非常简单,几行代码就能实现出色的tooltips效果,下面我给大家介绍一下基础的用法。

首先是js文件的调用:
在qtip的下载包里面有两个主要的js文件,一个是jquery1.3.2版本的mini file,一个是插件自己的js文件。
调用脚本如下:

  1. <script type="text/javascript" src="/projects/qtip/js/jquery.1.3.2.min.js"></script>
  2. <script type="text/javascript" src="/projects/qtip/js/jquery.qtip-1.0.0.min.js"></script>

其次是tooltips效果的初始化:

  1. $('ul:last li.active').qtip({ //使用jquery的selector来指定触发源
  2. content: 'This is an active list element',
  3. show: 'mouseover',
  4. hide: 'mouseout'
  5. })

完成这两步之后,一个基础的tooltips效果就实现了。

另外,qtip的接口非常丰富,默认提供了几套主题,而且还可以自定义样式和位置,更详细的文档请看这里

怀柔之行

Posted April 8th, 2009. Filed under Life Other Photo

清明假期一天也没闲着,第一天去了怀柔。
行程定的很匆忙,但是一路非常顺利,三辆车,13个人+一只泰迪,吃喝玩乐,挺开心。

想看个人照的请猛击这里