Kotisivu » WordPress » Kuinka käyttää WordPress Action -koukkuja teeman mukauttamisessa

    Kuinka käyttää WordPress Action -koukkuja teeman mukauttamisessa

    WordPress-lasten teemat antavat suhteellisen helpon tavan muokata teeman ulkoasua ja tunnetta. Jos teeman vaihtoehdot eivät tarjoa sinulle riittävästi suunnitteluvaihtoehtoja, voit lisätä uuden säännön lapsi-teeman oletustyyleihin nimeltä style.css. Mutta mitä tapahtuu, kun haluat myös muokata teeman toimintoja? Tämä on yksi niistä tapauksista, joissa WordPress-toimet tulevat auttamaan.

    WordPress on tullut niin suosittu osaksi sen korkean mukautettavuuden vuoksi. WordPress Core on ladattu erilaisilla koukkuilla, joiden avulla kehittäjät voivat muokata tai parantaa oletustoimintoa. Lisäksi meillä on lupa sisällyttää mukautetut koukut teemoissamme ja laajennuksissamme auttaa muita kehittäjiä mukauttamaan koodimme helposti heidän tarpeisiinsa.

    Tietoja WordPress-koukkuista

    WordPress-koukut toimivat hieman samankaltaisia ​​kuin tosielämässä olevat koukut siinä mielessä, että voit saada haluamasi kalat oikeaan paikkaan, jos käytät niitä oikein.

    Sinä pystyt poista kiinni otettu toiminto (esim. voit poistaa WordPress-järjestelmän hallintapalkin matalan tason käyttäjille) jätä se ehjäksi ja parantaa sitä omalla toiminnallasi (esim. voit lisätä teemoja useampia valikoita tai widget-alueita), tai voit ohittaa sen (esim. voit muokata ydinfunktion käyttäytymistä).

    WordPressissa on kaksi erilaista koukkua: toimet ja suodattimet. Tässä viestissä tarkastelemme, miten voimme hyödyntää teeman mukauttamisessa toimivia koukkuja.

    Miten WordPress toimii

    Käytä hyvin yksinkertaista kieltä, toimet osoittavat jotain on tapahtunut WordPress-sivun elinkaaren aikana: tietyt sivuston osat on ladattu, tietyt asetukset tai asetukset on määritetty, plugins tai widgetit on alustettu, ja niin edelleen.

    Suodattimet ovat erilaisia toimet luonteeltaan. He ovat tottuneet siirtää tietoja läpi, ja muokata, hallita tai siepata se ennen sen tekemistä näyttöön tai käyttäjän tietojen tallentaminen tietokantaan.

    WordPress-sivun jokaisella merkittävällä maamerkillä elinkaari on joko toiminta tai a suodattaa koukku, johon voimme Lisää mukautettu koodi muokata oletuskäyttäytymistä tarpeisiimme.

    Tietyt pyynnön aikana käynnissä olevat toiminnot ja suodattimet riippuvat siitä, mitä sivua käyttäjäagentti on pyytänyt: esimerkiksi yksittäisessä postituspyynnössä yksittäisiin virkoihin liittyvät koukut ovat käytettävissä, mutta sivuston muihin osiin liittyvät koukut (esim. Admin-alue) eivät.

    Etsi toimintakoukut

    WordPress Codexin toimintaohje antaa yksityiskohtaisen katsauksen eri pyyntöjen kautta suoritettavista toimista. Tärkeintä on, että jos haluamme saavuttaa tehtävän, meidän täytyy koukku oikeaan paikkaan, ei ennen tai jälkeen, muuten toiminta ei toteudu.

    Joten esimerkiksi jos haluamme lisää Google Analytics -koodi sivustoosi meidän täytyy kiinnitä toiminta juuri ennen alatunnisteen lataamista.

    Jos puhumme teemojen räätälöinnistä, toiminnan koukut voivat tulla kahdesta eri paikasta: mistä WordPress Core ja itse teema. On olemassa teemoja, joissa ei ole koukkuja, mutta toiset tarjoavat kehittäjille joitakin tai monia - se on aina aiheen tekijän valinta. Oletuksena kahdenkymmenen viidentoista teeman aiheessa on vain yksi koukku alatunnistimen muokkaamiseen nimellä "twentyfifteen_credits".

    Jos haluat selata lähdekoodia, voit myös löytää toimintokokouksia helposti. Toimintakoukut lisätään koodiin käyttämällä do_action () WordPress-toimintoa.

    Jos suoritat nopean haun ilmaisulle 'do_action' kehittyneemmässä koodieditorissa - kuten tein alla olevassa Eclipse-ohjelmassa - voit nähdä luettelon paikoista, joissa voit liittää mukautetut toiminnot ytimeen. Etsin / Wp-sisältää / kansioon, mutta voit myös suorittaa haun / Wp-admin / kansio, joka sisältää WordPressin hallintapaneeliin liittyvät toimihakut (admin-alue).

    Hyvä asia on, että toimintahyppien nimet ovat yleensä melko itsestään selviä, mutta on olemassa yleensä mukava kommentti koodin sisällä joka voi antaa sinulle enemmän tietoa siitä, onko tietty toimintokoukku hyvä syystä, jota haluat käyttää.

    Esimerkiksi koodi kommentti ennen "widgets_init" -toimintakonetta sanoo sen “tulipalot, kun kaikki oletusarvoiset WordPress-widgetit on rekisteröity”. Jos otat kuuntelemalla koodia ennen tätä toimintakonetta, voit etsiä kaikki oletusarvoiset WP-widgetien alustukset ennen sitä - niin voit olla varma, että kommentti ei ole valehtunut, ja jos haluat rekisteröidä oman mukautetun widgetin, tämä on oikea paikka.

    Monissa tapauksissa lähdekoodi antaa meille paljon enemmän tietoa kuin Codex, joten se voi olla hyvä idea oppia nopeasti navigoimaan siihen.

    Lisää omat toimet

    Kun haluat lisätä oman toimintasi, sinun täytyy luo mukautettu toiminto ja sitoa tämä toiminto tiettyyn toimintakonsoliin käyttämällä Add_action () WordPress -toimintoa. Lisätoiminto () -toiminnolla lisätyt mukautetut toiminnot ovat yleensä laukaista paikan päällä kun ydin kutsuu tarkoituksenmukaisen do_action () -toiminnon.

    Katsotaanpa yksinkertainen esimerkki.

    Miten löydät toimivan koukun, jota tarvitset

    Oletetaan, että haluat lisätä mukautetun favicon-sivuston sivustoosi. Ensinnäkin sinun on löydettävä oikea toimintakoko, johon voit sitoa oman toiminnallisuutesi.

    Mietitään. Jos halusit lisätä favicon pelkälle HTML-sivulle, johon haluat laittaa sen? Tietenkin sinun täytyy sijoittaa se sisään HTML-tiedoston osa, jossa on seuraava merkintä:

      

    Niinpä sinun tarvitsemaasi toimintakoukun täytyy olla liittyvät lastaukseen jakso.

    (1) Avaa Toiminto-ohje ja katso, mitä se tarjoaa. Meillä on onnekkaita, sillä jos selaamme toimia, voimme vain löytää yhden, wp_head, jonka nimensä perusteella on mahdollista liittyä sen lataamiseen. jakso.

    (2) Voit olla varma tarkista WordPress-koodin dokumentaatio. Codex suosittelee sitä “käytät tätä koukkua ottamalla toiminnon kaiutin selaimeen”, nyt se näyttää olevan täydellinen meille. Mutta tarkista se lähdekoodissa.

    (3) Koska tämä koukku ei liity admin-alueeseen, meidän on suoritettava haku / Wp-sisältää / kansio. Jos etsimme sanaa "wp-head", saat paljon tuloksia, koska WP Core käyttää tätä tiettyä toimintoa monta kertaa.

    Meidän on etsittävä paikka, jossa se määritellään, joten etsi ilmaus tee seuraavaksi ('wp_head'. Huomaa, että suluissa ei ollut loppuun, koska emme voi olla varmoja, jos toiminnolla on parametreja vai ei.

    Eclipse palauttaa vain yhden tuloksen, joka löytyy /wp-includes/general-template.php tiedosto. Kommentti ennen toimintokokoonpanon määritelmää sanoo sen “tulostaa skriptejä tai tietoja etutunnisteeseen etupäässä”, joten nyt voimme olla varmoja siitä wp_head on toimiva koukku, jota tarvitsemme.

    Parametrien tarkistaminen

    Kun lisäät omia toimintojasi, sinun täytyy myös olla varma, jos käytettävä koukku ottaa parametreja vai ei. Voit selvittää tämän helposti katsomalla do_action () -toimintoa.

    Do_action () -toiminnon syntaksi on seuraava:

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

    Tarvitaan vain toiminnan nimi, parametrit ovat valinnaisia. Jos löydät argumentteja do_action () -toiminnon vastaavassa kutsussa, sinun täytyy sisällyttää ne luomasi mukautetun toiminnon ilmoitukseen.

    Jos et löydä mitään, mukautetun toiminnon täytyy toimia ilman argumentteja. Wp_head-toiminnon koukun määritelmässä do_action () ei ole parametreja.

    Verrataan sitä toiminnon koukkuun, joka ottaa parametrin. 'Wp_register_sidebar_widget' -toiminnon koukulla on yksi parametri, jonka täytyy aina siirtää mukautetulle toiminnolle, jonka sidot koukkuun.

    Katsotaanpa ero näiden kahden tapauksen synkronissa do_action ():

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

    Ensimmäisessä tapauksessa ei ole parametria, joten mukautettu toiminto käyttää seuraavaa syntaksia:

     toimi my_function_without_parameters () … 

    Toisessa tapauksessa on yksi parametri, jonka täytyy aina siirtää argumenttina mukautetun toiminnon ilmoitukseen:

     toimi my_function_with_parameters ($ widget) … 

    Mukautetun toiminnon kiinnittäminen

    Nyt tiedämme kaiken, mitä tarvitsemme. Luodaan mukautettu toiminto, joka näyttää faviconin sivustollamme.

    Ensinnäkin luo uusi toiminto ilman argumentteja ja sito se sitten wp_head-toiminnon koukkuun käyttämällä Add_action () WordPress -toimintoa.

     toiminto custom_add_favicon () echo ”';  add_action ('wp_head', 'custom_add_favicon');

    Sinun täytyy anna nimi koukku lisätoiminto () -toimintoon väitteeksi ensin, sitten sinun täytyy lisää mukautetun toiminnon nimi.

    Nämä ovat kaksi lisäarvoa (). Siinä on myös kaksi valinnaista parametria, prioriteetti ja hyväksyttyjä väitteitä. Katsotaanpa, miten niitä käytetään.

    Määritä prioriteetit

    Monissa tapauksissa tapahtuu, että samaan koukkuun on enemmän kuin yksi toimenpide. Niin joka toteutetaan ensin? Tässä voimme käyttää $ prioriteetti valinnainen parametri lisätoiminnon () funktion.

    Lisäämme prioriteetin positiivisena kokonaislukuna, oletusarvo on 10. Jos haluamme, että toimenpide toteutetaan aikaisin, annamme sille pienemmän arvon, jos haluamme sen toteutuvan myöhemmin, annamme sille suuremman arvon.

    Jos siis ajattelemme, että faviconin on oltava varhaisessa vaiheessa, voimme parantaa edellistä lisäosan () puhelua seuraavalla tavalla:

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

    Huomaa, että painopisteiden on aina oltava asetettu muihin mukautettuihin toimintoihin jotka käyttävät samaa toimintaa.

    Lisää hyväksyttyjen argumenttien lukumäärä

    Sinun on lisättävä hyväksyttyjen argumenttien määrä, jos käytät toimintakonetta, joka ottaa parametreja. Katsotaanpa esimerkki, jota käytimme aiemmin.

    Toimintakoko "wp_register_sidebar_widget" ottaa yhden parametrin, joten kun sidomme mukautetun toiminnon tähän koukkuun, meidän on myös sisällytettävä tämä argumentti, kun kutsumme add_action () -toimintoa.

    Tässä tapauksessa koodi näyttää tältä:

     toiminto my_sidebar_widget_function ($ widget) // Koodisi add_action ('wp_register_sidebar_widget', 'my_sidebar_widget_function', 10, 1); 

    Huomaa, että meidän täytyy lisää myös prioriteetti (valitsimme täällä 10 oletusarvon) varmistaaksemme, että WordPress tietää, mitä kukin parametri tarkoittaa. Jos jätimme prioriteetin pois, WordPress voisi olettaa, että 1 on ensisijainen mikä ei ole totta, koska se osoittaa hyväksyttyjen argumenttien lukumäärän.

    johtopäätös

    Teemakokoonpanossa voit tehdä monia kokeiluja, joissa on toimintojen koukkuja. Voit esimerkiksi lisätä mukautetut komentosarjat (JS) ja tyylejä (CSS) wp_enqueue_scripts-toiminnon koukulla tai Google Analytics -koodilla wp_footer-toiminnon koukulla.

    Et vain voi lisää omat toimet, mutta voit myös poistaa täydelliset toiminnot WordPress-ytimestä poistamalla seuraavista () -toiminnolla, joka käyttää samaa logiikkaa kuin add_action ().

    Jos olet teeman tekijä ja haluat tehdä laajennettavan teeman, se voi olla hyvä idea lisää omat mukautetut toimintokokoasi sopiviin mallitiedostoihin kanssa do_action () -toiminto.

    Jos haluat tehdä niin, miettiä huolellisesti muiden kehittäjien parametreja kuka käyttää teemaa täytyy lähteä väitteinä kun he haluavat koota omiin toimintoihinsa.

    Kun suunnittelet teeman mukautettujen toimintojen sijaintia, älä unohda sitä ei ole järkevää sisällyttää mukautettuja teemakoukkuja samoihin paikkoihin, joissa WordPress Core -laitteessa on omat koukut.