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

默认值:None

$function_to_add

phpaction类WordPress添加动作函数addaction jQuery

(回调)(必填)你希望挂载的函数的名称。
注:在 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 = 'bob@example.org, susie@example.org';

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', 10, 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