WordPress.org

Codex

zh-cn:函数参考/add action

本文已被标记为未完成状态。您可以将其补充或翻译完整,以此帮助完善 Codex。

Contents

说明

Hooks a function on to a specific action.

See Plugin API/Action Reference for a list of hooks for action. Actions are (usually) triggered when the Wordpress core calls do_action().

用法

 <?php add_action$tag$function_to_add$priority$accepted_args ); ?> 

参数

$tag
(string) (required) The name of the action you wish to hook onto. (See Plugin API/Action Reference for a list of action hooks)
Default: None
$function_to_add
(callback) (required) The name of the function you wish to be called. Note: any of the syntaxes explained in the PHP documentation for the 'callback' type are valid.
Default: None
$priority
(int) (optional) How important your function is. Alter this to make your function be called before or after other functions. The default is 10, so (for example) setting it to 5 would make it run earlier and setting it to 12 would make it run later.
Default: 10
$accepted_args
(int) (optional) How many arguments your function takes. In WordPress 1.5.1+, hooked functions can take extra arguments that are set when the matching do_action() or apply_filters() call is run. For example, the action comment_id_not_found will pass any functions that hook onto it the ID of the requested comment.
Default: 1

示例

Simple Hook

To email some friends whenever an entry is posted on your blog:

function email_friends($post_ID)  {
   $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');

Take Arguments

The hooked function takes one argument from the action. Specifically, the 'echo_comment_id' function, takes the argument $comment_ID. It then echos the value of the received argument.

function echo_comment_id($comment_ID) {
   echo "I just received $comment_ID";
}
add_action('comment_id_not_found','echo_comment_id', 10, 1);

Notes

To find out the number and name of arguments for an action, simply search the code base for the matching do_action() call. For example, if you are hooking into 'save_post', you would find it in post.php:

do_action('save_post', $post_ID, $post);

Your add_action call would look like:

add_action('save_post', 'my_save_post', 10, 2);

And your function would be:

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

Change Log

Since: 1.2.0

Source File

add_action() is located in wp-includes/plugin.php.

相关

Actions: has_action(), add_action(), do_action(), do_action_ref_array(), did_action(), remove_action(), remove_all_actions()

See also index of Function Reference and index of Template Tags.
This article is marked as in need of editing. You can help Codex by editing it.