四
21
2009
WordPress插件API手册
发布者: seasun概述
本文档介绍了在WordPress中对插件开发者有用的API(Application Programming Interface,应用编程接口)的使用方法。
本文假设你已经阅读了简要介绍插件开发方法的文章:Writing a Plugin,本文主要就介绍Hook API,比如Filters、Action,这使得WordPress可以加载你的插件。
注意:本文所提到的信息针对WordPress1.2及以上版本,在1.2版之前,这些插件被称为“hacks”,他们主要是通过修改WordPress本身的源码来实现的。
译者注:在本文中,为了便于对原文的准确翻译,一些程序设计的专有词汇没有进行翻译,你可以阅读如下单词表来参考:
- API,应用程序编程接口。
- Hook,钩子,意为在WordPress的处理中加入你自己的处理。
- Filter,过滤器。
- Action,动作。
Hooks,Actions和Filters
Hook是WordPress提供的,允许你的插件“勾入”WordPress的程序,或者说,可以在特定时候执行你插件中的函数,从而使得你的插件执行。这里提供了两种hook:
- Action:Action(动作)是WordPress程序核心在程序执行的特殊点(特定事件发生)加载的。使用Action API,你的插件可以在这些特殊点执行一个或者多个在插件中编写的PHP函数。
- Filter:Filter(过滤器)是WordPress加载的,当文本被存入数据库或发送到浏览器之前,Filter可用来对其进行多种类型的处理。使用Filter,你的插件可以使用定义在其中的PHP函数来对文本进行多种处理。
某 些时候,你可以用Action或者Filter实现同样的功能。举例来说,如果你编写了一个插件用来修改博客日志的文本,你可以加入一个Action函数 到publist_post的事件(这样日志就会在存入数据库时被修改),也可以加入一个Fliter函数到the_content(这时日志内会在显示 到浏览器之前被修改)。
Actions(动作)
Action(动作)在WordPress进行某些特殊事件处理时被触发,例如发布日志,修改主题,或者在管理员面板显示页面。你的插件可以通过执行PHP函数来发挥作用,他们可以用来做如下事情:
- 修改数据库中的数据
- 发送Email消息
- 修改在浏览器中显示的信息(包括管理员看到的和访问者看到的)
实施Action的基本步骤是:
- 在你的插件中编写当事件发生时执行的PHP函数。
- 通过执行add_action函数将这些操作Hook(勾入)到WordPress中。
- 将你的PHP函数放入插件文件,并且将其激活。
编写Action函数
在插件中创建Action的第一步是在插件中编写一个实现Action功能的PHP函数并且将其放入你的插件文件(插件文件必须放置在wp- content/plugins目录)中。比如,如果你希望当发表一篇日志后,发送Email通知给你的朋友,那么你可以定义如下函数:
function email_friends($post_ID) {
$friends = 'bob@example.org,susie@example.org';
mail($friends, "sally's blog updated",
'I just put something on my blog: http://blog.example.com');
return $post_ID;
}
在大多数Action中,你的函数应该接受一个参数(通常是日志或者帖子的编号,这取决于你要进行的操作)。某些Action可能有多余一个参数 –你可以通过查看Action的文档或者WordPress源代码来获得更多信息。除函数参数外,你还可以访问WordPress的全局变量以及执行 WordPress中定义的其他函数(或者在你的插件文件中定义的函数)。
注意:切记其他插件或者WordPress核心可能已经使用了你希望使用的函数名称,你可以浏览Avoiding Function Name Collisions(避免函数名称冲突–译者注)来获得更多信息。
Hook(勾入)到WordPress
完成你的函数的编写后,下一步就是将其hook(勾入)或者说注册到WordPress中,你可以通过执行全局空间中的add_action()函数来实现,如: