Domača » WordPress » Kako uporabljati WordPress akcijskih kljuk v temi Customization

    Kako uporabljati WordPress akcijskih kljuk v temi Customization

    Teme WordPressovih otrok so razmeroma preprost način za prilagoditev videza in občutka teme. Če možnosti teme ne ponujajo ustreznih možnosti oblikovanja, lahko dodate novo pravilo v privzeto datoteko s slogi podrejene teme z imenom style.css. Toda kaj se zgodi, ko hočeš spremenite funkcionalnost teme? To je eden od primerov, ko vam WordPress pomagajo.

    WordPress je postal tako priljubljen deloma zaradi visoke prilagodljivosti. WordPress Core je naložen z različnimi kavlji, ki razvijalcem omogočajo spreminjanje ali izboljševanje privzete funkcionalnosti. Poleg tega nam je dovoljeno vključiti kljuke po meri v naših temah in vtičnikih pomagajte drugim razvijalcem, da preprosto prilagodijo našo kodo njihovim potrebam.

    O WordPress kljukicah

    WordPress kavlji delujejo nekoliko podobno kot v realnem življenju v smislu, da lahko ulovite želeno ribo na pravem mestu, če jih pravilno uporabljate.

    Ti lahko odstranite ujeto funkcijo (npr. lahko odstranite WordPress admin bar za uporabnike nizke ravni), lahko pustite nedotaknjeno in okrepiti s svojo lastno funkcijo (npr. temo lahko dodate več menijev ali področij pripomočkov) ali pa lahko preglasi (npr. lahko spremenite vedenje osnovne funkcije).

    V WordPressu sta dve različni vrsti kljukic: ukrepov in filtri. V tem prispevku si bomo ogledali, kako lahko uporabite akcijske kavlje v prilagoditvi teme.

    Kako deluje WordPress

    Uporabiti zelo preprost jezik, ukrepov navedite to Nekaj ​​se je zgodilo med življenjskim ciklom strani WordPress: nekateri deli spletnega mesta so bili naloženi, določene možnosti ali nastavitve so bile nastavljene, vtičniki ali pripomočki so bili inicializirani, in tako naprej.

    Filtri se razlikujejo od ukrepov v naravi. Vajeni so posredovanje podatkov, in spreminjanje, upravljanje ali prestrezanje pred prikazom na zaslonu ali shranjevanjem uporabniških podatkov v bazo podatkov.

    Na vsakem pomembnem mejniku življenjskega cikla strani WordPress obstaja bodisi ukrepanje ali a filter kavelj, na katerega lahko dodajte kodo po meri, da spremenite privzeto vedenje potrebam.

    Določena dejanja in filtri, ki se izvajajo med zahtevo, so odvisni od strani, ki jo je zahteval uporabniški agent: na primer v eni zahtevi za objavo so na voljo kljuke, povezane z posameznimi objavami, vendar so kljuke povezane z drugimi deli spletnega mesta (npr. Upravno območje) niso.

    Poiščite akcijske kljuke

    Referenca dejanj kodeksa WordPress daje podroben pregled dejanj, ki potekajo skozi različne zahteve. Pomembno je, da če želimo izpolniti nalogo, ki jo moramo kavelj na pravo mesto, ne pred ali po njem, sicer dejanje ne bo končano.

    Tako na primer, če želimo dodajte kodo Google Analytics na spletno mesto moramo priklopite naša dejanja tik pred nalaganjem noge.

    Če govorimo o prilagajanju tem, lahko akcijski kavlji prihajajo iz dveh različnih krajev: od WordPress Core in sama tema. Obstajajo teme, ki sploh nimajo kljukic, druge pa ponujajo razvijalcem nekaj ali več - vedno je izbira tematskega avtorja. Privzeta tema The Twenty Fifteen Theme ima samo eno akcijsko kljukico za prilagoditev noge pod imenom 'twentyfifteen_credits'.

    Če želite brskati po izvorni kodi, lahko enostavno poiščete tudi akcijske kljuke. Akcijski kljuki se dodajo kodi s funkcijo WordPress do_action ().

    Če v hitrejšem urejevalniku kod zaženete hitro iskanje izraza 'do_action' - kot sem to storil v Eclipse spodaj - si lahko ogledate seznam mest, kjer lahko v jedro povežete funkcionalnost po meri. Iskal sem v / wp-includes / lahko tudi zaženete iskanje / wp-admin / mapa, ki vsebuje kljukice dejanj, povezane z nadzorno ploščo WordPress (upravno območje).

    Dobra stvar je, da so imena akcijskih kavljev ponavadi precej samoumevna, vendar obstajajo ponavadi lep komentar znotraj kode ki vam lahko da več znanja, ali je dani akcijski kavelj dober za razlog, zaradi katerega ga želite uporabiti.

    Na primer, komentar pred kodo "widgets_init", ki ga pokaže klic, to pove “požari, ko so registrirani vsi privzeti pripomočki za WordPress”. Če pokukate kodo pred to kljukico za ukrepanje, lahko najdete vse inicializacije privzetih pripomočkov WP pred njim - tako da ste lahko prepričani, da komentar ni lagal, in če želite registrirati svoj lasten gradnik po meri, to bo pravo mesto.

    V mnogih primerih nam izvorna koda nudi veliko več informacij kot Codex, zato se lahko dobro naučite, kako se lahko hitro pomikate po njej.

    Dodajte svoja dejanja

    Ko želite dodati lastno dejanje, morate ustvarite funkcijo po meri in povežite to funkcijo z določenim kljukico za dejanje z uporabo funkcije add_action () WordPress. Dejanja po meri, dodana funkciji add_action (), so običajno sprožene na kraju samem ko jedro prikliče ustrezno funkcijo do_action ().

    Poglejmo preprost primer.

    Kako najti akcijo Hook morate

    Recimo, da želite dodati priljubljeno lokacijo po meri na svoje spletno mesto. Najprej morate najti pravo kljuko, ki jo lahko povežete s svojo funkcionalnostjo.

    Pomislimo. Če bi želeli dodati favicon na navadno HTML stran, kjer bi jo dali? Seveda jo morate postaviti v notranjost v datoteki HTML z naslednjo oznako:

      

    Torej mora biti akcija, ki jo potrebujete v zvezi z natovarjanjem. \ t oddelek.

    (1) Odprite Reference Action in si oglejte, kaj ponuja. Imamo srečo, kot če bi brskali po akcijah, lahko najdemo le enega, wp_head, ki ima na podlagi svojega imena možnost, da je povezana z nalaganjem oddelek.

    (2) Da bi bili prepričani, dajmo preverite dokumentacijo v WordPress Codex. To priporoča Codex “to kljukico uporabite tako, da bo vaš brskalnik prikazoval odmev vaše funkcije”, zdaj se zdi, da je za nas popolna. Toda preverimo jo v izvorni kodi.

    (3) Ker ta trn ni povezan z administrativnim področjem, bomo morali izvesti iskanje v / wp-includes / mapo. Če iščemo besedo "wp-head", bomo dobili veliko rezultatov, ker to specifično dejanje pogosto uporablja WP Core.

    Poiskati moramo mesto, kjer ga bomo definirali, zato poiščimo izraz do_action ('wp_head'). Upoštevajte, da oklepajev nismo dokončali, ker še ne moremo biti prepričani, ali ima to dejanje parametre ali ne.

    Eclipse vrne samo en rezultat, ki ga lahko najdete v notranjosti /wp-includes/general-template.php mapa. Komentar pred definicijo kljukice dejanj pravi, da je “natisne skripte ali podatke v oznako glave na sprednji strani”, tako da smo zdaj lahko prepričani wp_head je akcijski kavelj, ki ga potrebujemo.

    Preverjanje parametrov

    Ko dodajate svoja dejanja, morate biti prepričani, ali ima kavelj, ki ga želite uporabiti, parametre ali ne. To lahko preprosto najdete tako, da pogledate funkcijo do_action ().

    Sintaksa funkcije do_action () je naslednja:

     do_action ('name_of_action' [, $ parameter1, $ parameter2,…]) 

    Zahteva se samo ime dejanja, parametri so neobvezni. Če najdete argumente v ustreznem klicu funkcije do_action (), morate to storiti jih vključite v izjavo o funkciji po meri, ki jo ustvarite.

    Če jih ne najdete, mora funkcija po meri delovati brez argumentov. V definiciji do_action () kljukice dejanj wp_head ni parametrov.

    Primerjamo jo s kljukico, ki sprejme parameter. Dejanje, ki se imenuje "wp_register_sidebar_widget", vsebuje en parameter, ki ga morate vedno prenesti na funkcijo po meri, ki jo povežete s kljuko..

    Poglejmo razliko v sintaksi do_action () dveh primerov:

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

    V prvem primeru ni parametra, zato bo funkcija po meri uporabila naslednjo skladnjo:

     funkcija my_function_without_parameters () … 

    V drugem primeru obstaja en parameter, ki ga morate vedno posredovati kot argument v deklaraciji vaše funkcije po meri:

     funkcija my_function_with_parameters ($ widget) … 

    Kako priklopiti vašo funkcijo po meri v

    Zdaj vemo vse, kar potrebujemo. Ustvarimo našo funkcijo po meri, ki bo na naši strani prikazala ikono za ikono.

    Najprej ustvarite novo funkcijo brez argumentov, nato pa jo povežite s kljuko akcij wp_head s pomočjo funkcije dodaj (() WordPress..

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

    Moraš prenesite ime kljukice za ukrepanje v funkcijo add_action () najprej kot argument, potem morate dodajte ime funkcije po meri.

    To sta zahtevana parametra add эл (). Ima tudi dva neobvezna parametra, prednostna naloga in sprejete argumente. Poglejmo, kako jih uporabiti.

    Določite prednostne naloge

    V mnogih primerih se zgodi, da je na isto kljuko vezanih več ukrepov. Torej katera bo prva izvedena? Tukaj lahko uporabimo $ neobvezni parameter funkcije add_action ().

    Prednost dodamo kot pozitivno celo število, privzeta vrednost je 10. Če želimo, da se dejanje izvrši zgodaj, mu dajemo nižjo vrednost, če želimo, da se izvede pozneje, mu damo višjo vrednost.

    Torej, če menimo, da mora biti favicon že tam zgodaj, lahko izboljšamo naš prejšnji klic add_action () na naslednji način:

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

    Prosimo, upoštevajte, da morajo biti prednostne naloge vedno nastavite relativno glede na druge funkcije po meri ki uporabljajo isti kljukico za dejanje.

    Dodaj število sprejetih argumentov

    V primeru, da uporabite kljukico, ki sprejme parametre, morate dodati število sprejetih argumentov. Poglejmo primer, ki smo ga uporabljali prej.

    Akcijski kljukica "wp_register_sidebar_widget" ima en parameter, tako da, ko povežemo našo funkcijo po meri s tem kavljem, moramo to vključiti tudi kot argument, ko pokličemo funkcijo add_action ().

    Naša koda v tem primeru bo izgledala takole:

     funkcija my_sidebar_widget_function ($ widget) // Vaša koda add_action ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1); 

    Upoštevajte, da moramo dodajte tudi prednost (tukaj smo izbrali privzeto 10), da bi zagotovili, da WordPress ve, kaj pomeni vsak parameter. Če smo izpustili prednost, bi WordPress lahko domnevala, da je prednostna naloga 1 kar ni res, saj označuje število sprejetih argumentov.

    Zaključek

    Izvedete lahko številne poskuse z akcijskimi kljukami pri prilagajanju teme. Na primer lahko dodate skripte po meri (JS) in sloge (CSS) s kljukico dejanja wp_enqueue_scripts ali kodo Google Analytics s kljukico za dejanja wp_footer.

    Ne samo, da lahko dodajte svoja dejanja, lahko pa tudi odstranite popolne funkcionalnosti iz jedra WordPress s funkcijo remove_action (), ki uporablja isto logiko kot add_action ().

    Če ste avtor teme in želite ustvariti raztegljivo temo, je to lahko dobra ideja dodajte svoje lastne kljuke za dejanja po meri v ustrezne datoteke predlog s funkcijo do_action ().

    Če želite to storiti, premislite o parametrih, ki jih imajo drugi razvijalci kdo bo uporabil vašo temo kot argumente ko želijo priklopiti svoje funkcionalnosti po meri.

    Pri oblikovanju lokacij vaših tematskih kljuk po meri ne pozabite ni smiselno vključevati kljukic po meri na istih mestih, kjer ima jedro WordPress samo svoje kljuke.