設計HOOK和啟動HOOK

設計HOOK和啟動HOOK

設計HOOK

/*--------------- Action Hook Function---------------*/
// 增加要鈎上'do_more'這個hook的hook function,
// 並為此hook function取名叫more_func。
// 第一個參數是hook名稱、第二個是hook function名稱
add_action('do_abc', 'fun_abc');
// 實作more_func的內容,不需回傳值
function fun_abc()
{
    echo 'do more thing...';
}
 
/*--------------- Filter Hook Function ---------------*/
// 增加要鈎上'get_special' hook的hook function,
// 並為此hook function取名叫special_func。
// 參數1是hook名稱、參數2是hook function名稱
// 參數3是Priority(優先序)、參數4是hook function參數的數目
add_filter('do_xyz', 'fun_xyz', 10, 2);
// 實作special_func的內容,需要給它回傳值
function fun_xyz($a, $b)
{
    $c = $a.' & '.$b; //做一些事,例如把兩個參數連接起來
    return $c;        //回傳值
}

啟動HOOK

/*--------------- Action Hook ---------------*/
// 埋下一個名叫'do_more'的action hook
do_action('do_abc');
 
/*--------------- Filter Hook ---------------*/
// 埋下一個名叫'get_special'的filter hook,注意它會有回傳值
$c = apply_filters('do_xyz',$a, $b);