說明
將函數(shù)連接到指定action(動作)。
在Plugin API/Action Reference 上查看動作hook列表。wordpress核心調(diào)用do_action() 時觸發(fā)動作。
用法
<?php
add_action( $tag, $function_to_add, $priority,
$accepted_args );
?>
參數(shù)
$tag
(字符串)(必填)$function_to_add 所掛載的動作(action)的名稱。(在Plugin API/Action Reference 上查看動作hook列表)。也可以是一個主題或插件文件內(nèi)部的一個動作,或者特定的標(biāo)簽“all”,這個函數(shù)將被所有的鉤子(hooks)調(diào)用。
默認(rèn)值:None
$function_to_add
(回調(diào))(必填)你希望掛載的函數(shù)的名稱。注:在 PHP“回調(diào)”類型文檔中 所羅列的字符串格式化的語法均可用。
默認(rèn)值:None
$priority
(整數(shù))(可選)用于指定與特定的動作相關(guān)聯(lián)的函數(shù)的執(zhí)行順序。數(shù)字越小,執(zhí)行越早,具有相同優(yōu)先級的函數(shù)在它們被添加到動作的順序執(zhí)行。
默認(rèn)值:10
$accepted_args
(整數(shù))(可選)掛鉤函數(shù)所接受的參數(shù)數(shù)量。在 WordPress1.5.1 及以后的版本中,掛鉤函數(shù)可以是調(diào)用do_action() 或 apply_filters()時設(shè)置的參數(shù)。例如,comment_id_not_found動作將傳遞任何函數(shù),若該函數(shù)將所請求的評論編號連接到該動作。
默認(rèn)值:1
返回值
(布爾)總是True。
示例
簡單的掛鉤
博客發(fā)表新內(nèi)容時用電子郵件通知朋友:
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: http://blog.example.com' );
return $post_ID;
}
add_action( 'publish_post', 'email_friends' );
接受的參數(shù)
掛鉤函數(shù)可以選擇接受從動作調(diào)用的參數(shù),如果有任何要傳遞的話。在這個簡單的例子中,echo_comment_id 函數(shù)需要 $comment_id 參數(shù),該參數(shù)將在 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 );
注釋
要找出一個動作的參數(shù)的ID和名稱,只需搜索匹配 do_action() 調(diào)用的代碼庫。舉例來說,如果你掛載到’save_post’,你會在 post.php 找到:
<?php do_action( 'save_post', $post_ID, $post ); ?>
你的 add_action 調(diào)用將是這樣:
<?php add_action( 'save_post', 'my_save_post', 10, 2 ); ?>
而且你的函數(shù)將是這樣:
function my_save_post( $post_ID, $post )
{
// do stuff here
}
在一個類中使用 add_action
當(dāng)你的插件或主題使用類來創(chuàng)建時,使用 add_action 鉤子,在類中添加 $this 和 函數(shù)名稱 到你的 add_action 回調(diào),像這樣:
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...
}
}
函數(shù)歷史
始見于 WordPress 1.2.0
源文件
add_action() 位于 wp-includes/plugin.php
- 原文:http://codex.wordpress.org/Function_Reference/add_action
- 編譯:倡萌@WordPress大學(xué)





如果禁用了文章版本,編輯時也會修改!有誰知道解決辦法?
這是翻譯的官方文檔吧,我想要那個可以掛的所有地方….. 分類頁某個位置了,文章頁某個位置了,頁面了,能不能把所有能掛的地方列出來。
抱歉沒看開頭
看不懂=.=
我在一個類里面看到這樣一段代碼 add_action( ‘wp_head’, ‘wp_admin_bar_header’ );但是類里面并沒有wp_admin_bar_header這個函數(shù),是在wp_includes/class-wp-admin-bar.php 里面的,這一段是什么意思?
add_action在類中加入的,在類外怎么remove_action? 試了很多種方法一直刪除失敗
?
不錯哦