你现在的位置:首页 > PHP网站建设知识库 > WordPress > 正文

WordPress函数 - add_action()详解

描述:
在一个action上挂载(挂钩机制)一个函数。

函数原型:
add_action ( '动作名', '响应函数名', [优先级], [参数数目] );

参数说明:
动作名: WordPress所提供的动作名,用于标识在哪个动作发生时,执行响应函数。相应函数名:当动作 hook_name 发生时需要执行的响应函数的名字。可以是 PHP 标准的函数,或者是 WordPress 内的函数,或者是插件内自定义的函数。优先级:这是一个可选的参数,默认值为10。由于可以把多个函数注册到同一个动作,所以这个参于是用于指定注册到这个动作中的这个函数执行的优先级,数字越小优先 级越高,执行得也越早,反之亦然。如果若干个函数以相同的优先级注册到同一个动作,那么执行顺序则是由它们注册的先后顺序所决定。参数数目:这是一个可选的参数,确认值是1。由于某些动作可能会把多个参数传给响应函数,所以这个有时候需要指定响应函数能接受多少个参数。这个参数是在 1.5.1 版加进去的。这个函数类似于Qt中的信号槽机制。

解释一下动作|action:
动作 (Actions) 是由 WordPress 内部的某些事件所触发的,比如说发表一篇文章、更换主题或者访问后台的某个管理界面,这些都是一件事件的例子。而插件则可以指定某些 PHP 函数来响应这些事件所触发的动作。例如:
修改数据库数据
发送电子邮件
修改即将显示出来的内容
使用动作来挂载插件的基本步骤如下:
在插件代码中定义当某个事件发生时,需要执行的 PHP 函数
用add_action() 把这个函数注册到动作执行挂勾上
把插件源码放到 WordPress 指定的地方,然后启用它
定义动作响应函数:要在插件中执行动作,就要先在插件文件(必须放到wp-content/plugins下)中定义一个响应动作的 PHP 函数。比如下面的例子,实现的功能是在新文章发布时,通过电子邮件通知好友。

$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;  


可以把函数挂载到系统中:

add_action ( 'publish_post', 'email_friends' );