設計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);