上一篇对WordPress插件过滤器函数做了下介绍,这篇在介绍下动作(Actions)函数。

动作 (Action)函数 是 WordPress 运行到某些环节,或者在某些事件发生时,就会被执行的一种挂钩。任何的插件都可以通过动作接口来指示系统在遇到这些环节或者事件的时候,就执行指定的 PHP 函数。 是由 WordPress 内部的某些事件所触发的,比如说发表一篇文章、更换主题或者访问后台的某个管理界面,这些都是一件事件的例子。而插件则可以指定某些 PHP 函数来响应这些事件所触发的动作。例如:

  • 修改数据库数据
  • 发送电子邮件
  • 修改即将显示出来的内容

1.在插件代码中定义当某个事件发生时,需要执行的 PHP函数

例如:

function email_friends($post_ID)  {
    $friends = 'favortt1@126.com,favortt2@126.com';
    mail($friends, "执行的函数例子",
      '这个是测试内容');
    return $post_ID;
}

注意:在插件内定义函数时,函数名称必须保持唯一性。

2.用add_action() 把这个函数注册到动作执行挂勾上

定义完动作响应函数之后,下一步就得把这个函数挂载(或者说注册)到 WordPress 里面去。做法是在插件中调用 add_action() 函数,如下:

add_action ('hook_name', 'your_function_name', [priority], [accepted_args] );
hook_name
WordPress 所提供的动作名,用于标识在哪个动作发生时,执行响应函数.
your_function_name
当动作 hook_name 发生时需要执行的响应函数的名字。可以是 PHP 标准的函数,或者是 WordPress 内置函数,或者是插件内自定义的函数,例如上述例子中的 'email_friends'
priority
这是一个可选的参数,默认值为10。由于可以把多个函数注册到同一个动作,所以这个参于是用于指定注册到这个动作中的这个函数执行的优先级,数字越小优先 级越高,执行得也越早,反之亦然。如果若干个函数以相同的优先级注册到同一个动作,那么执行顺序则是由它们注册的先后顺序所决定。
accepted_args
这是一个可选的参数,确认值是1。由于某些动作可能会把多个参数传给响应函数,所以这个有时候需要指定响应函数能接受多少个参数。这个参数是在 1.5.1 版加进去的。

通过这个函数我们就可以把上面的例子添加一个动作。

add_action ( 'publish_post', 'email_friends' );

3.把插件源码文件放到 WordPress 插件目录,然后激活插件

WordPress动作(Actions)函数就为大家简单介绍一下。大家如果查看这些过插件动作函数的可以来磊子的WordPress函数文档里面查看。