Почетна » ВордПресс » Како користити ВордПресс Ацтион Хоокс у Тхеме Цустомизатион

    Како користити ВордПресс Ацтион Хоокс у Тхеме Цустомизатион

    ВордПресс дјечје теме дају релативно једноставан начин за прилагођавање изгледа и осјећаја теме. Ако вам опције теме не пружају адекватне дизајнерске изборе, можете једноставно додати ново правило у подређену датотеку стилова подређене теме под називом стиле.цсс. Али шта се дешава када и ви то желите модификовати функционалност теме? То је један од случајева када вам ВордПресс акције дођу у помоћ.

    ВордПресс је постао толико популаран делом због своје високе прилагодљивости. ВордПресс језгро је напуњено различитим кукама које омогућавају програмерима да модификују или побољшају подразумевану функционалност. Штавише, дозвољено нам је укључити цустом хоокс у нашим темама и додатцима помоћи другим програмерима да лако прилагоде наш код својим потребама.

    О ВордПресс Хоокс

    ВордПресс куке дјелују нешто слично стварним кукама у смислу да можете ухватити рибу коју желите на правом мјесту ако их правилно користите.

    Можете уклоните ухваћену функцију (нпр. можете уклонити ВордПресс админ бар за кориснике ниског нивоа), можете оставите га нетакнутим и побољшати са својом функционалношћу (нпр. можете додати више менија или области виџета теми) или можете надјачати (нпр. можете да измените понашање основне функције).

    Постоје две различите врсте кука у ВордПресс-у: акције и филтери. У овом посту ћемо погледати како можемо искористите акционе куке у прилагођавању тема.

    Како ради ВордПресс

    Користити врло једноставан језик, акције то указују нешто се догодило током животног циклуса ВордПресс странице: одређени делови сајта су учитани, одређене опције или подешавања су подешена, додаци или виџети су иницијализовани, и тако даље.

    Филтери се разликују од акције у својој природи. Они су навикли прослеђивати податке, и модификуј, управљај или интерцепт пре него што се прикаже на екрану или сачува корисничке податке у бази података.

    На сваком значајном оријентиру животног циклуса ВордПресс странице постоји или поступак или а филтер кука на коју можемо додајте наш прилагођени код да бисте изменили подразумевано понашање нашим потребама.

    Одређене радње и филтери који се покрећу током захтева зависе од тога која је страница тражена од стране корисничког агента: на пример, у једном захтеву за доставу су доступне кукице које се односе на појединачне поруке, али кукице које се односе на друге делове сајта (нпр. Област администрације) нису.

    Нађите акције Хоокс

    Референца акције за ВордПресс Цодек даје детаљан преглед акција које пролазе кроз различите захтјеве. Важно је да ако желимо да обавимо задатак који нам је потребан кука на право место, не пре или после њега, иначе акција неће бити завршена.

    На пример, ако желимо додајте наш Гоогле Аналитицс код на сајт морамо да повежите нашу акцију тачно пре него што се учита подножје.

    Ако говоримо о прилагођавању тема, кукице за акцију могу доћи са два различита места: од ВордПресс Цоре и сама тема. Постоје теме које уопште немају кукице, али друге обезбеђују програмерима неке или више - увек је избор аутора теме. Подразумевана тема Твенти Фифтеен Тхеме има само једну акцијску куку за прилагођавање подножја под називом 'твентифифтеен_цредитс'.

    Ако желите да прегледате изворни код, такође можете лако да пронађете акционе кукице. Акционе кукице додају се коду са ВордПресс функцијом до_ацтион ().

    Ако покренете брзу претрагу за израз 'до_ацтион' у напреднијем уређивачу кода - као што сам то урадио у Ецлипсе-у испод - можете видети листу о местима где можете да повежете своју прилагођену функционалност у језгро. Претражио сам у / вп-инцлудес / , али можете покренути и претрагу за / вп-админ / директоријум који садржи кукице за радње повезане са ВордПресс контролном таблом (област администрације).

    Добра ствар је што су називи акцијских кукица обично прилично разумљиви, али постоји обично добар коментар унутар кода то вам може дати више знања да ли је дата акција добра због разлога за који желите да је користите.

    На пример, коментар кода пред 'видгетс_инит' акцијском куком каже да је то “пожари након што су сви подразумевани ВордПресс видгети регистровани”. Ако погледате код прије ове акције, можете пронаћи све иницијализације ВП видгет-а прије тога - тако да можете бити сигурни да коментар није лаж, и ако желите регистрирати властити прилагођени видгет, ово ће бити право место.

    У многим случајевима изворни код нам даје много више информација од Кодекса, тако да може бити добра идеја да научите како се брзо кретати кроз њега.

    Додајте сопствене акције

    Када желите да додате своју акцију, морате креирајте прилагођену функцију и вежите ову функцију на одређену акцијску куку помоћу функције адд_ацтион () ВордПресс. Прилагођене акције додане функцијом адд_ацтион () су обично на лицу места када језгро позива одговарајућу функцију до_ацтион ().

    Да видимо једноставан пример.

    Како пронаћи акцију која вам је потребна

    Рецимо да желите да додате свој прилагођени фавицон на свој сајт. Прво, морате пронаћи праву акцијску куку на коју можете везати своју функционалност.

    Хајде да размислимо. Ако сте хтели да додате фавицон на обичну ХТМЛ страницу где бисте је ставили? Наравно, треба да га ставите у одељак ХТМЛ датотеке са следећом ознаком:

      

    Значи, потребно је да буде потребно у вези са утовара сецтион.

    (1) Отворите Референцу акције и погледајте шта нуди. Имамо среће, као да прегледамо акције, можемо наћи само један, вп_хеад, који на основу његовог имена има могућност да се повеже са учитавањем сецтион.

    (2) Да будемо сигурни, хајде проверите документацију у ВордПресс Цодек-у. Кодекс то савјетује “користите ову куку тако да имате функцију ецхо излаз у претраживачу”, тако да сада изгледа да је савршен за нас. Али проверите у изворном коду.

    (3) Пошто ова кука није повезана са административним подручјем, мораћемо да покренемо нашу претрагу у / вп-инцлудес / фолдер. Ако тражимо реч 'вп-хеад' добићемо многе резултате јер ову специфичну акцију користи ВП Цоре много пута.

    Морамо да потражимо место где ће се дефинисати, па потражите израз до_ацтион ('вп_хеад'). Имајте на уму да нисмо довршили заграде, јер још не можемо бити сигурни да ли ова акција има параметре или не.

    Ецлипсе враћа само један резултат који се може наћи унутар /вп-инцлудес/генерал-темплате.пхп филе. Коментар прије дефиниције кукица за акцију каже да је то “штампа скрипте или податке у глави на предњем крају”, тако да сада можемо бити сигурни у то вп_хеад је акција која нам је потребна.

    Провера параметара

    Када додате сопствене акције, такође морате бити сигурни да ли удица коју желите користити узима параметре или не. Ово можете лако пронаћи ако погледате функцију до_ацтион ().

    Синтакса функције до Ширина () је следећа:

     до_ацтион ('наме_оф_ацтион' [, $ параметер1, $ параметер2, ...]) 

    Потребно је само име акције, параметри су опционални. Ако нађете аргументе у релевантном позиву функције до Ширина (), морате укључите их у декларацију прилагођене функције коју креирате.

    Ако их не пронађете, ваша прилагођена функција мора да ради без аргумената. У до_ацтион () дефиницији вп_хеад акције, нема параметара.

    Упоредимо га са акцијом која узима параметар. Акција кука названа 'вп_регистер_сидебар_видгет' узима један параметар који увек мора да пређе на прилагођену функцију коју везујете за куку.

    Да видимо разлику у синтакси до_ацтион () у два случаја:

     до_ацтион ('вп_хеад'); до_ацтион ('вп_регистер_сидебар_видгет', $ видгет);

    У првом случају нема параметра, тако да ће прилагођена функција користити следећу синтаксу:

     фунцтион ми_фунцтион_витхоут_параметерс () … 

    У другом случају постоји један параметар који увек морате да проследите као аргумент у декларацију ваше прилагођене функције:

     фунцтион ми_фунцтион_витх_параметерс ($ видгет) … 

    Како спојити вашу корисничку функцију у

    Сада знамо све што нам треба. Креирамо нашу прилагођену функцију која ће приказати фавицон на нашем сајту.

    Прво, креирајте нову функцију без икаквих аргумената, а затим је повежите са вп_хеад акцијском куком помоћу функције адд_ацтион () ВордПресс.

     фунцтион цустом_адд_фавицон () ецхо '';  адд_ацтион ('вп_хеад', 'цустом_адд_фавицон');

    Морате да проследите име активне куке у функцију адд_ацтион () као аргумент, онда треба додајте име прилагођене функције.

    Ово су два потребна параметра адд_ацтион (). Има и два опционална параметра, приоритет и прихваћени аргументи. Да видимо како да их користимо.

    Дефинирајте приоритете

    У многим случајевима се дешава да постоји више од једне акције везано за исту куку. Тако који ће бити први извршен? Овде можемо користити $ приоритетни опциони параметар функције адд_ацтион ().

    Приоритет додајемо као позитивни цео број, подразумевана вредност је 10. Ако желимо да се акција изврши рано, даћемо јој нижу вредност, ако желимо да буде извршена касније, даћемо јој већу вредност.

    Дакле, ако сматрамо да фавицон треба да буде тамо рано, можемо побољшати наш претходни адд_ацтион () позив на следећи начин:

     адд_ацтион ('вп_хеад', 'цустом_адд_фавицон', 5); 

    Имајте на уму да приоритети увек морају бити поставите у односу на друге прилагођене функције који користе исту акцијску куку.

    Додајте број прихваћених аргумената

    Од вас се тражи да додате број прихваћених аргумената у случају да користите акцијску куку која узима параметре. Да видимо пример који смо раније користили.

    Акција кука 'вп_регистер_сидебар_видгет' узима један параметар, тако да када повежемо нашу прилагођену функцију са овом куком, такође морамо да укључимо ово као аргумент када зовемо функцију адд_ацтион ().

    Наш код у овом случају ће изгледати овако:

     фунцтион ми_сидебар_видгет_фунцтион ($ видгет) // Ваш код адд_ацтион ('вп_регистер_сидебар_видгет', 'ми_сидебар_видгет_фунцтион', 10, 1); 

    Имајте на уму да морамо такође додајте приоритет (овде смо изабрали дефаулт 10) да би били сигурни да ВордПресс зна шта сваки параметар значи. Ако смо изоставили приоритет, ВордПресс би могао претпоставити да је 1 приоритет што није тачно, јер указује на број прихваћених аргумената.

    Закључак

    Можете направити многе експерименте са кукицама за акцију у прилагођавању тема. На пример, можете да додате прилагођене скрипте (ЈС) и стилове (ЦСС) помоћу кукице за радњу вп_енкуеуе_сцриптс или кода Гоогле Аналитицс помоћу кукице за радњу вп_фоотер.

    Ти не само да можеш додајте своје акције, али можете и ви уклоните потпуне функционалности од ВордПресс језгра са употребом функције ремове_ацтион () која користи исту логику као адд_ацтион ().

    Ако сте аутор теме и желите да направите тему која се може проширити, то може бити добра идеја додајте своје кукице за прилагођене акције у одговарајуће датотеке предложака са функцијом до_ацтион ().

    Ако то желите, добро размислите о параметрима које други програмери ко ће користити вашу тему мораће да прође као аргумент када желе да повежу своје прилагођене функционалности.

    Док дизајнирате локације прилагођених кукица за вашу тему, немојте то заборавити нема много смисла укључити прилагођене куке тема на истим мјестима гдје сама ВордПресс језгра има своје куке.