预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CoolWP.org撰写此文Suoling.net提供技术支持 PAGE\*MERGEFORMAT6 WordPress插件(WordPressplugin)开发教程(2) WordPress插件(WordPressplugin)开发教程(2),将介绍Wordpress插件开发的一般思路,并介绍开发插件需要做哪些工作. 开始编写插件吧 是的,终于要正式开始了。 本部分将介绍Wordpress插件开发的一般思路,并介绍开发插件需要做哪些工作(除了在HYPERLINK"http://suoling.net/how-to-develop-wordpress-plugin-1/"\o"WordPress插件(WordPressplugin)开发教程(1)"\t"_blank"第一章里说过的)。 WordPress插件Hook(钩子) WordPress插件通过一个或多个WordPress插件Hook来实现它们的功能。插件Hook的运行原理是:当WordPress运行到不同状态,WordPress会检查当前状态是否注册了插件函数,如果有,那么相应的插件函数将被执行。通过执行插件函数改变WordPress的默认功能(默认功能就是一个博客,你懂的)。 例如,在WordPress下将日志标题和日志发送到浏览器前,Wordpress会检查是否有插件函数注册了名为“the_title”的“filter”(过滤器)Hook。如果有,标题文本将会传送到注册插件的函数中,注册插件的函数返回值将会被Wordpress传送到浏览器显示给用户。所以,要想在日志标题中加入一些信息,可以通过这种方式实现。 另外一个例子:名为“wp_footer”的“action”Hook,会在WordPress前台的HTML页脚创建之前,检查是否有插件注册了名为“wp_footer”的“action”Hook,如果有,会依次执行这些插件。 查看HYPERLINK"http://suoling.net/goto/http:/ref.so/djdy4"\o"Wordpress插件API"\t"_blank"WordPress插件API以了解更多如何注册“filter”和“action”类型的Hook函数、WordPress提供了哪些插件Hook。如果发现WordPress没有提供你想要的Hook,你可以建议WordPress加入这个Hook,很多建议WordPress都会留意并采纳的,因为它是开放的。具体的建议提交方法参考:HYPERLINK"http://suoling.net/goto/http:/ref.so/zg4i"\o"Wordpress的BUG报告"\t"_blank"报告BUG。 WordPress插件可用的模版标签 另外一个通过插件加入新功能的方法:建立自定义的模版标签(或者称之为短代码)。如果有人想用这个插件的功能,可以在他们的主题中添加这些标签,侧栏、文章内容段,或者任意的地方都可以。例如,一个给文章添加地理位置的插件可能定义一个模板标签函数geotag_list_states()放在侧栏上,如此等等。 定义一个自定义模板标签,仅需要写一个PHP函数,并且在你插件主页或者插件的主PHP文件中声明一下。声明函数的时候,为这个函数提供一个示例来说明如何使用。 插件读写数据库数据库 大多数WordPress插件需要站点的所有者或者是其它作者输入的信息,然后在对话过程中保存起来,以便过滤器函数(filter)、动作函数(action)或者模板函数(Template)使用。这些信息必须保存在WordPress的数据库中,以便下次使用。这里有两种基本的方法用于保存插件的信息到数据库里面。 1.使用WordPress的"option"机制(稍后会有介绍)。这种方法适合于保存一些相对小数量的静态命名类数据--这类数据通常只需要网站的所有者在首次建立插件的时候输入,以后很少改动。 2.文章属性“postmeta”,适用于那些只和个人文章、页面或者附件有关的数据(参看HYPERLINK"http://suoling.net/goto/http:/codex.wordpress.org/Function_Reference/post_meta_Function_Examples"\o"FunctionReference/postmetaFunctionExamples"\t"_blank"post_metaFunctionExamples,HYPERLINK"http://suoling.net/goto/http:/codex.wordpress.org/Function_Reference/add_post_meta"\o"FunctionRe