wordpress 插件开发

转自:http://blog.csdn.net/ruby97/article/details/7709872
插件机制是由Hook系统实现   
ActionsFilters
调用Hook:

add_action() 

add_filter()

移除Hook
remove_action()

remove_filter()

在wp-content/plugins/下面建一个文件夹,文件夹名称与插件名称相同,如插件名称myplugin
进入myplugin文件夹,在其中创建文件myplugin.php

文件夹结构

myplugin.php
js文件夹(存放javascript文件)
css文件夹(存放样式表文件)
php文件夹(存放其他的PHP文件)

这个action叫做wp_head,是在模板的header.php加载接近结束时候触发的。
这个action的作用,就是专门在模板中添加插件需要使用的css或者javascript文件的。

当你开始编写一个插件的时候,前面七行用来描述你的插件。
<?php
/*
Plugin Name: myplugin
Plugin URI: http://www.xxx.com
Version: 1.0
Author: lijiashun
Description: it`s my plugin description
*/
写好后,保存,我们就可以在wp-admin的Plugins中看到我们的插件了

开发插件后台管理界面
开发插件的后台管理界面是必要的。这样插件的使用者就可以通过界面来修改插件的配置参数,而无需手动编辑插件的代码。对于插件的配置参数,最好把他们存放在数据库中,而不是硬编码于插件的php代码中。
幸运的是,Wordpress提供了大量的function和hook来帮助我们创建后台管理界面。下面结合实例来说明。

Step1 创建后台界面

创建Copyright插件的第一步就是创建一个函数来产生HTML代码,用于在后台使用。

wordpress 插件开发_第1张图片

Step2 在后台管理界面中添加插件配置入口

您可能不太清楚上面标题的含义,下面贴一张图片:

wordpress 插件开发_第2张图片

明白了吧?我要的就是在后台Plugins菜单项中可以看到我自定义的插件的名字。这样我点击该插件的Panel,就进入了上述的配置页面。
那么,这应该如何实现呢?
这里,要用到函数 add_submenu_page(),该函数需要6个参数:
• $parent 父页面的文件名,比如plugins.php
• $page_title 你要添加的页面名称
• $menu_title
• $access_level 访问权限
• $handle
• $callback 用于初始化页面的函数
(具体还是看官方文档)

下面,看如何编写代码:

其实,你不一定非要把插件入口创建在Plugins菜单下面。这没有硬性的规定。如果你想把入口创建在其他地方:

Add_management_page()

Tools下面创建

Add_options_page()

Settings下面创建

Add_theme_page()

Appearance下面创建

Add_users_page()

Users下面创建

Add_dashboard_page()

Dashboard下面创建

Add_posts_page()

Posts下面创建

Add_media_page()

Media下面创建

Add_links_page()

Links下面创建

Add_pages_page()

Page下面创建

Add_comments_page()

Comments下面创建

Add_page_menu()

创建一个新的主菜单项,与Tools,Settings等平级

 Step3 给插件表单添加随机数项(为了安全性)

修改后的copyright_notices_admin如下所示:

Step4 处理数据并与数据库交互
现在,我们需要把表单添加到数据库中了。为了实现该功能,我们首先要验证请求的合法性(即上一步中的随机数)。验证方法如下:

按照上述做法,在跨站请求伪造条件下(Cross Site Request Forgery),验证将失败,然后什么也不会发生。如果验证通过,就可以使用update_option()来修改值了。
现在,修改完成的copyright_notices_admin()函数如下所示:

wordpress 插件开发_第3张图片

下面,我们进入后台:

wordpress 插件开发_第4张图片

输入自定义的Copyright Text,然后提交:

wordpress 插件开发_第5张图片

OK,为了确定该数据已经存在了数据库中,我们进入数据库,查看options表:


可以看到,该数据已经写入了wp_options表中。

使用插件
Step1 Createing Events with Actions

我们已经创建了Admin Panel并把copyright text存放到了数据库中。现在,我们可以在WordPress中使用我们的插件了。
首先,我们需要写一个函数来显示Copyright Text。

wordpress 插件开发_第6张图片

由于我们需要使用action hook来实现功能,故写如下代码:
add_action(‘wp_footer’,’display_copyright’);
然后,把主题中Home.php文件的 <?php get_footer() ?> 改为 <?php wp_footer() ?>
就可以看到结果了:

Step2 Modifying Content with Filters
所有Filter,就是过滤器。顾名思义,数据有进亦有出。看下面这个函数:

wordpress 插件开发_第7张图片

这样,如果是Home.php,即主页,将在所有显示的title后面加上copyright字符串





你可能感兴趣的:(wordpress 插件开发)