微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

WordPress添加动作函数:add_action

说明

函数连接到指定action(动作)

用法

add_action( $tag,$function_to_add,$priority,$accepted_args );

参数

$tag

字符串)(必填)$function_to_add 所挂载的动作(action)的名称。(在Plugin API/Action Reference 上查看动作hook列表)。也可以是一个主题插件文件内部的一个动作,或者特定的标签“all”,这个函数将被所有的钩子(hooks)调用

认值:None

$function_to_add

(回调)(必填)你希望挂载的函数名称。注:在 PHP“回调”类型文档中 所罗列的字符串格式化的语法均可用。

认值:None

$priority

(整数)(可选)用于指定与特定的动作相关联的函数的执行顺序。数字越小,执行越早,具有相同优先级的函数在它们被添加到动作的顺序执行。

认值:10

$accepted_args

(整数)(可选)挂钩函数所接受的参数数量。在 wordpress1.5.1 及以后的版本中,挂钩函数可以是调用do_action() 或 apply_filters()时设置的参数。例如,comment_id_not_found动作将传递任何函数,若该函数将所请求的评论编号连接到该动作。

认值:1

返回值

总数返回true

简单的挂载

博客发表新内容时用电子邮件通知朋友:

function email_friends( $post_ID )
{
$friends = '[email protected],[email protected]';
wp_mail( $friends,"sally's blog updated",'I just put something on my blog: https://www.xxzhuti.com' );

return $post_ID;
}
add_action( 'publish_post','email_friends' );

接受的参数

挂钩函数可以选择接受从动作调用的参数,如果有任何要传递的话。在这个简单的例子中,echo_comment_id 函数需要 $comment_id 参数,该参数将在 comment_id_not_found 过滤钩子运行时通过 do_action() 传递。

function echo_comment_id( $comment_id )
{
echo 'Comment ID ' . $comment_id . ' Could not be found';
}
add_action( 'comment_id_not_found','echo_comment_id',10,1 );

注释

要找出一个动作的参数的ID和名称,只需搜索匹配 do_action() 调用代码库。举例来说,如果你挂载到’save_post’,你会在 post.PHP 找到:

<?PHP do_action( 'save_post',$post_ID,$post ); ?>

你的 add_action 调用将是这样:

<?PHP add_action( 'save_post','my_save_post',2 ); ?>

而且你的函数将是这样:

function my_save_post( $post_ID,$post )
{
// do stuff here
}

一个类中使用 add_action

当你的插件主题使用类来创建时,使用 add_action 钩子,在类中添加 $this 和 函数名称 到你的 add_action 回调,像这样:

class MyPluginClass
{
public function __construct()
{
//add your actions to the constructor!
add_action( 'save_post',array( $this,'myplugin_save_posts' ) );
}

public function myplugin_save_posts()
{
//do stuff here...
}
}

文件

add_action() 位于 wp-includes/plugin.PHP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐