Pagrindinis » WordPress » Kaip naudotis WordPress veiksmų kabliais temos pritaikyme

    Kaip naudotis WordPress veiksmų kabliais temos pritaikyme

    Vaikų temos „WordPress“ suteikia gana paprastą būdą pritaikyti temos išvaizdą. Jei temos parinktys nesuteikia jums tinkamo dizaino pasirinkimo, galite tiesiog pridėti naują taisyklę į numatytąjį vaikiškos temos stiliaus failo failą style.css. Bet kas atsitinka, kai taip pat norite keisti temos funkcionalumą? Tai yra vienas iš atvejų, kai jums padeda „WordPress“ veiksmai.

    „WordPress“ tapo toks populiarus iš dalies dėl didelio pritaikomumo. WordPress Core yra pakrautas su įvairiais kabliukais, kurie leidžia programuotojams modifikuoti arba pagerinti numatytąjį funkcionalumą. Be to, mes galime įtraukti pritaikyti kabliukai mūsų temose ir papildiniuose padėti kitiems kūrėjams lengvai pritaikyti savo kodą prie jų poreikių.

    Apie „WordPress“ kabliukus

    „WordPress“ kabliukai šiek tiek panašūs į tikruosius kabliukus ta prasme, kad jūs galite sugauti norimas žuvis reikiamoje vietoje, jei tinkamai jas naudojate.

    Tu gali pašalinkite sugautą funkciją (pvz., galite pašalinti „WordPress“ administratoriaus juostą žemo lygio vartotojams) palikite ją nepažeistą ir sustiprinti su savo funkcijomis (pvz., galite pridėti daugiau meniu ar valdiklių sričių), arba galite nepaisyti jo (pvz., galite pakeisti pagrindinės funkcijos elgesį).

    „WordPress“ yra du skirtingi kabliukai: veiksmai ir filtrai. Šiame pranešime pažvelgsime, kaip galime panaudoti temų pritaikymo veiksmų kabliukus.

    Kaip veikia WordPress kablys

    Naudoti labai paprastą kalbą, veiksmai nurodykite kažkas įvyko WordPress puslapio gyvavimo ciklo metu: tam tikros svetainės dalys buvo įkeltos, nustatyti tam tikri variantai ar nustatymai, įskiepiai ar valdikliai buvo inicijuoti ir pan..

    Filtrai skiriasi nuo veiksmai savo pobūdžiu. Jie yra įpratę perduoti duomenis per, ir keisti, valdyti arba perimti jį prieš pateikiant jį į ekraną arba išsaugant naudotojo duomenis į duomenų bazę.

    Kiekviename svarbiame „WordPress“ puslapio gyvavimo cikle yra arba veiksmų arba a filtras kablys, į kurį mes galime pridėti priskirtą kodą, kad pakeistumėte numatytąjį elgesį mūsų poreikius.

    Tam tikri užklausos metu veikiantys veiksmai ir filtrai priklauso nuo to, kurį puslapį paprašė naudotojo agentas: pavyzdžiui, viename po užklausos yra prieinami kabliai, susiję su atskirais įrašais, tačiau kabliai, susiję su kitomis svetainės dalimis (pvz., Administravimo sritis) ne.

    Rasti veiksmų kabliukus

    „WordPress Codex“ veiksmų nuoroda pateikia išsamią veiksmų, vykdančių įvairius prašymus, apžvalgą. Svarbu tai, kad jei norime įvykdyti užduotį, kurią turime kablys į tinkamą vietą, ne prieš ar po jo, kitaip veiksmas nebus baigtas.

    Taigi, pavyzdžiui, jei norime pridėkite „Google Analytics“ kodą į svetainę mums reikia prikabinkite mūsų veiksmus prieš įkėlimą.

    Jei kalbame apie temos pritaikymą, veiksmo kabliai gali būti iš dviejų skirtingų vietų: nuo „WordPress Core“ ir pati tema. Yra temų, neturinčių kablių, bet kiti teikia kūrėjams keletą ar daug - tai visada yra temos autoriaus pasirinkimas. Pagal nutylėjimą „dvidešimt penkiolika“ temų yra tik viena veiksmų kablys, skirta „poraštės“ pritaikymui pagal „dvidešimt penki„ kreditai “.

    Jei norite naršyti šaltinio kodą, galite lengvai surasti veiksmo kabliukus. Veiksmų kabliukai pridedami prie kodo su „do määratud“ () „WordPress“ funkcija.

    Jei atliksite greitesnę išraiškos „do_action“ paiešką labiau pažengusiame kodų redaktoriuje, kaip ir toliau „Eclipse“, galite pamatyti sąrašą vietų, kuriose galite prijungti pasirinktinę funkciją į branduolį. Aš ieškojau / wp-include / aplanką, bet taip pat galite paleisti paiešką / wp-admin / aplanką, kuriame yra veiksmo kabliai, susiję su „WordPress“ prietaisų skydu („admin“ sritis).

    Geras dalykas yra tai, kad veiksmų kabliukų pavadinimai paprastai yra gana aiškūs, bet yra paprastai gražus komentaras kodo viduje tai gali suteikti jums daugiau žinių, ar konkretaus veiksmo kabliukas yra tinkamas dėl to, kad norite jį naudoti.

    Pavyzdžiui, kodo komentaras prieš „widgets_init“ veiksmų kablį sako, kad jis yra “gaisrai po visų numatytų „WordPress“ valdiklių registravimo”. Jei žiūriite į kodą prieš šį veiksmo kablelį, galite rasti visą numatytąjį WP valdiklių inicijavimą prieš jį - kad galėtumėte būti tikri, kad komentaras neegzistuoja, ir jei norite užregistruoti savo priskirtą valdiklį, tai bus tinkama vieta.

    Daugeliu atvejų šaltinio kodas suteikia mums daug daugiau informacijos nei Codex, todėl gali būti naudinga išmokti greitai naršyti.

    Pridėti savo veiksmus

    Jei norite pridėti savo veiksmus, jums reikia sukurti priskirtą funkciją ir susieti šią funkciją su konkrečiu veiksmo kabliu naudodami funkciją „Add_action“ (). Paprastai pridedami pasirinktiniai veiksmai, pridedami naudojant funkciją add_action () vietoje kai šerdis skambina atitinkama funkcija do_action ().

    Pažiūrėkime paprastą pavyzdį.

    Kaip rasti veiksmo kablys, kurio jums reikia

    Tarkime, kad norite pridėti priskirtą „favicon“ į savo svetainę. Pirma, jums reikia rasti tinkamą veiksmo kabliuką, kurį galite susieti su savo funkcijomis.

    Pagalvokime. Jei norėtumėte pridėti „favicon“ į paprastą HTML puslapį, į kurį jį įdėjote? Žinoma, jums reikia įdėti jį viduje HTML failo skiltis su tokiu žymėjimu:

      

    Taigi būtinas veiksmų kablys susiję su. \ t skyrius.

    (1) Atidarykite veiksmų nuorodą ir pažiūrėkite, ką ji turi pasiūlyti. Mums pasisekė, nes jei naršome po veiksmus, galime rasti tik vieną, wp_head, kad, remiantis jo pavadinimu, yra galimybė susieti su skyrius.

    (2) Norėdami būti tikri, tegul patikrinkite dokumentaciją WordPress Codex. Kodeksas tai pataria “jūs naudojate šį kabliuką, kad jūsų funkcija būtų atkurta į naršyklę”, taigi dabar atrodo, kad tai tobula mums. Bet pažiūrėkime jį į šaltinio kodą.

    (3) Kadangi šis kablys nesusijęs su administravimo sritimi, turėsime paleisti paiešką / wp-include / aplanką. Jei ieškosime žodžio „wp-head“, gausime daug rezultatų, nes šį konkretų veiksmą WP Core naudoja daug kartų.

    Turime ieškoti vietos, kur ji bus apibrėžta, todėl ieškokite išraiškos do_action („wp_head“. Atkreipkite dėmesį, kad baigėme skliaustelius, nes negalime būti tikri, jei šis veiksmas turi parametrų.

    „Eclipse“ grąžina tik vieną rezultatą, kurį galima rasti viduje /wp-includes/general-template.php failą. Komentaras prieš veiksmų kablys apibrėžimą sako, kad jis “spausdina skriptus arba duomenis į priekinį galą”, todėl dabar mes galime būti tikri wp_head yra veiksmų kablys, kurio mums reikia.

    Patikrinti parametrus

    Pridėjus savo veiksmus, taip pat turite būti tikri, ar norimas naudoti kablys turi parametrus, ar ne. Tai galite lengvai išsiaiškinti, peržiūrėdami funkciją do_action ().

    Funkcijos do_action () sintaksė yra tokia:

     do_action ('name_of_action' [, $ paraméter1, $ paraméter2,…]) 

    Reikalingas tik veiksmo pavadinimas, parametrai neprivalomi. Jei rasite argumentų atitinkamoje funkcijoje do_action (), jums reikia įtraukti juos į savo sukurtos pasirinktinės funkcijos deklaraciją.

    Jei nerasite, jūsų pasirinkta funkcija turi veikti be argumentų. Wp_head veiksmo kablio apibrėžtyje do_action () nėra parametrų.

    Palyginkime jį su veiksmo kabliu, kuriame yra parametras. Veiksmo kablys, vadinamas „wp_register_sidebar_widget“, turi vieną parametrą, kurį visada turite pereiti prie priskirtos funkcijos, kurią susieti su kabliu.

    Pažiūrėkime skirtumą tarp abiejų atvejų sintaksės do_action ():

     do_action ('wp_head'); do_action ('wp_register_sidebar_widget', $ valdiklis);

    Pirmuoju atveju parametro nėra, todėl pasirinktinė funkcija naudoja šią sintaksę:

     funkcija my_function_without_parameters () … 

    Antruoju atveju yra vienas parametras, kurį visada turite pateikti kaip argumentą į savo priskirtos funkcijos deklaraciją:

     funkcija my_function_with_parameters ($ widget) … 

    Kaip prijungti pasirinktinę funkciją

    Dabar mes žinome viską, ko mums reikia. Kurkime savo pasirinktinę funkciją, kurioje bus rodomas mūsų svetainėje esantis „favicon“.

    Pirma, sukurkite naują funkciją be jokių argumentų, tada prijunkite jį prie „wp_head“ veiksmų kablio naudodami „Add_action“ () „WordPress“ funkciją.

     funkcija custom_add_favicon () echo “„;  add_action ('wp_head', 'custom_add_favicon');

    Tau reikia perduoti pavadinimą veiksmų kablys į funkciją add_action () pirma kaip argumentas, tada jums reikia pridėkite savo pasirinktos funkcijos pavadinimą.

    Tai yra du reikalingi papildymo parametrai (). Jis taip pat turi du neprivalomus parametrus, prioritetas ir priimtus argumentus. Pažiūrėkime, kaip juos naudoti.

    Nustatykite prioritetus

    Daugeliu atvejų įvyksta daugiau nei vienas veiksmas, susijęs su tuo pačiu kabliu. Taigi kuris iš jų bus įvykdytas pirmiausia? Čia mes galime naudoti $ prioritetas pasirinktinis parametras funkciją, prid.

    Pridedame prioritetą kaip teigiamą sveiką skaičių, numatytoji vertė yra 10. Jei norime, kad veiksmas būtų įvykdytas anksti, mes suteikiame jai mažesnę vertę, jei norime, kad jis būtų įvykdytas vėliau, mes suteikiame jai didesnę vertę.

    Taigi, jei manome, kad „favicon“ turi būti anksti, galime sustiprinti ankstesnį raginimą papildyti ():

     add_action ('wp_head', 'custom_add_favicon', 5); 

    Atkreipkite dėmesį, kad prioritetai visada turi būti palyginti su kitomis pasirinktomis funkcijomis kurie naudoja tą patį veiksmą.

    Pridėti priimtų argumentų skaičių

    Jei naudojate veiksmų kablys, į kurį įtraukiami parametrai, turite pridėti priimtų argumentų skaičių. Pažiūrėkime pavyzdį, kurį naudojome anksčiau.

    Veiksmo kablys „wp_register_sidebar_widget“ užima vieną parametrą, taigi, kai mes prisiimame priskirtą funkciją prie šio kablio, tai taip pat turime įtraukti kaip argumentą, kai vadiname funkciją add_action ().

    Šiuo atveju mūsų kodas bus toks:

     funkcija my_sidebar_widget_function ($ widget) // Jūsų kodas add ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1); 

    Atkreipkite dėmesį, kad turime taip pat pridėti prioritetą (pasirinkome numatytąjį 10 čia), kad įsitikintume, ar „WordPress“ žino, ką reiškia kiekvienas parametras. Jei praleidome prioritetą, „WordPress“ galėtų manyti, kad 1 yra prioritetas tai nėra tiesa, nes jame nurodomas priimtų argumentų skaičius.

    Išvada

    Jūs galite padaryti daug eksperimentų su veiksmų kabliukais temos pritaikyme. Pavyzdžiui, galite pridėti priskirtus scenarijus (JS) ir stilius (CSS) su wp_enqueue_scripts veiksmo kabliu arba „Google Analytics“ kodu su „wp_footer“ veiksmo kabliu.

    Jūs galite ne tik pridėkite savo veiksmus, bet jūs taip pat galite pašalinti visas funkcijas iš „WordPress“ šerdies naudojant funkciją „remove_action“ (), kuri naudoja tą pačią logiką, kaip ir papildymo parinktis ().

    Jei esate temos autorius ir norite padaryti išplėstinę temą, tai gali būti gera idėja pridėkite savo pasirinktinių veiksmų kabliukus prie atitinkamų šablonų failų su funkcija „do_action“ ().

    Jei norite tai padaryti, kruopščiai galvoti apie kitus kūrėjus kas naudos jūsų temą turės praeiti kaip argumentai kai jie nori prijungti savo pasirinktines funkcijas.

    Kurdami savo temos pasirinktinio veiksmo vietas, nepamirškite, kad tai bus nėra daug prasmės įtraukti pasirinktinius teminius kabliukus tose pačiose vietose, kur pati „WordPress Core“ turi savo kabliukus.