wordpress鉤子簡(jiǎn)明教程
2016-06-10 07:28:52
24017
越來(lái)越多的人在使用wordpress搭建網(wǎng)站,今天藍(lán)隊(duì)網(wǎng)絡(luò)給大家介紹一下wordpress開發(fā)中重要的一個(gè)概念,就是鉤子。
鉤?(Hook)的作用是標(biāo)識(shí)位置,當(dāng)程序運(yùn)行到這個(gè)位置的時(shí)候,會(huì)調(diào)用執(zhí)行這個(gè)鉤子對(duì)應(yīng)的函數(shù)(Hook Function)
WordPress的Action Hook與Filter Hook
WordPress中的 Hook 有兩種,分別是”Action Hook“及”Filter Hook“,我們剛才舉例的 wp_head 及wp_footer 都是屬於 Action Hook。不過(guò),一開始你可以先把這兩種 Hook 看成是一樣的東西,只是 Filter 多了一點(diǎn)點(diǎn)不同的特色,接著說(shuō)明。
Action Hook
WP核心 (或主題、插件)在做它們?cè)撟龅氖聲r(shí),如果執(zhí)行到有埋 action hook 的程式碼 (即是 do_action 語(yǔ)法) 時(shí),會(huì)去找尋對(duì)應(yīng)到的 hook functions,進(jìn)而執(zhí)行這些 hook functions(即那些透過(guò) add_action() 來(lái)加入的 hook functions),藉此完成定制功能。WP核心并不期待 Action Hook functions 會(huì)有回傳值,所以這里的 hook function 只被視為一個(gè)”獨(dú)立切出來(lái)運(yùn)作的功能“。
WP核心做它該做的事,你做你想做的事,做完就各自結(jié)束。
Filter Hook
跟 Action Hook 一樣,WP核心 (或主題、插件)在做它們?cè)撟龅氖聲r(shí),如果執(zhí)行到有埋 filter hook 的程?碼 (即是apply_filters語(yǔ)法) 時(shí),就會(huì)去找尋對(duì)應(yīng)的 hook functions ,進(jìn)而執(zhí)行這些 hook functions(即那些透過(guò)add_filter() 來(lái)加入的 hook functions ),藉此完成定制功能。與 Action Hook 不同之處是,所有”鈎上“ Filter Hook 的 hook functions 通常都會(huì)接收到參數(shù),而WP核心會(huì)期待你拿到它提供的參數(shù),并做完你想做的事后,要回傳(return)一個(gè)值,讓W(xué)P核心再利用你回傳的值來(lái)接著完成它該做的事。
透過(guò)你的干涉,修改了WP核心丟給你的參數(shù),WP核心再接著拿你改過(guò)的參數(shù),繼續(xù)完成它該做的事,此動(dòng)作就像”過(guò)濾?的動(dòng)作,因而得名 filter。
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)