設計HOOK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | /*--------------- 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
1 2 3 4 5 6 7 | /*--------------- Action Hook ---------------*/ // 埋下一個名叫'do_more'的action hook do_action( 'do_abc' ); /*--------------- Filter Hook ---------------*/ // 埋下一個名叫'get_special'的filter hook,注意它會有回傳值 $c = apply_filters( 'do_xyz' , $a , $b ); |