當(dāng)前位置:首頁>WordPress建站>WordPress開發(fā)>WordPress函數(shù):add_action(添加動作)

WordPress函數(shù):add_action(添加動作)

說明

將函數(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é)
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關(guān)注WordPress大學(xué)公眾號 WPDAXUE
WordPress開發(fā)

WordPress函數(shù):wp_page_menu(頁面菜單)

2013-5-11 8:28:24

WordPress開發(fā)

如何開發(fā)一個WordPress插件

2013-5-13 10:50:17

8 條回復(fù) A文章作者 M管理員
  1. 逍遙樂

    如果禁用了文章版本,編輯時也會修改!有誰知道解決辦法?

  2. 哈嘍沃德

    這是翻譯的官方文檔吧,我想要那個可以掛的所有地方….. 分類頁某個位置了,文章頁某個位置了,頁面了,能不能把所有能掛的地方列出來。

  3. zeroYang

    看不懂=.=

  4. 我在一個類里面看到這樣一段代碼 add_action( ‘wp_head’, ‘wp_admin_bar_header’ );但是類里面并沒有wp_admin_bar_header這個函數(shù),是在wp_includes/class-wp-admin-bar.php 里面的,這一段是什么意思?

  5. add_action在類中加入的,在類外怎么remove_action? 試了很多種方法一直刪除失敗

  6. 不錯哦

?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

开化县| 新源县| 格尔木市| 黔西县| 开阳县| 理塘县| 定结县| 墨玉县| 桃园市| 双辽市| 汝阳县| 博乐市| 墨竹工卡县| 广宗县| 图木舒克市| 南澳县| 邹平县| 南京市| 太谷县| 黄冈市| 平昌县| 凤庆县| 登封市| 昭平县| 阜平县| 鄂托克旗| 长乐市| 吴桥县| 云南省| 大名县| 泽普县| 阆中市| 诸城市| 集贤县| 商洛市| 广安市| 佳木斯市| 克东县| 洛川县| 桦甸市| 遵义市|