I programmeringen er initialisering av data viktig som det er der vi konfigurerer forutsetningene for programmet, for eksempel dets attributter, dets nødvendige filer og data, dets tilkobling til databasen og så videre.
WordPress selv har en veldefinert initialiseringsprosedyre. Gjennom sidens livssyklus brenner WordPress en rekke handlinger, hvorav mange vi har dekket i tidligere artikler. I den forbindelse gir den et sett med initialiseringskroker som naturlig brukes til å initialisere applikasjonen før den utfører sin primære funksjonalitet.
Som plugin og temautviklere er det viktig å forstå brukssaken og Vanlige feil i disse initialiseringskrokene, for å bygge kvalitetsapplikasjoner.
I denne artikkelen skal vi se på viktigheten av WordPress-initialiseringskroker og hvordan de brukes i ulike scenarier.
WordPress tilbyr et bredt spekter av kroker som kan brukes i plugin og tema utvikling.
I en typisk sideforespørsel blir alle handlingskrokene utført i en bestemt rekkefølge. Spesielt blir alle kroker kjørt etter at kjerneordet WordPress-applikasjonen fullfører sin lasteprosess.
Så initialisering kroker er hovedsakelig vant til, du gjettet det, initialisere prosessen i plugins og temaer. La oss ta en titt på tilgjengelige i det
kroker i WordPress, i rekkefølge av deres henrettelse:
register_widget
funksjonen utføres innenfor denne kroken.admin_bar_init
, som utføres etter at administrasjonslinjen er initialisert. WordPress Codex gir ikke en forklaring på denne kroken, og ikke mange plugins bruker denne kroken. Du kan også se gjennom hele prosessprosessen for WordPress-handling i Codex.
WordPress kjører hver krok i en bestemt rekkefølge (som du kan se i Codex). Som sådan er det viktig å vurdere rekkefølgen av forekomsten ved å bruke hver handlingskrog. Vurder følgende scenarier for å identifisere forskjellene.
admin_init
Inne i i det
HookOm nødvendig kan vi definere WordPress-kroker i andre kroker. I en typisk forespørsel, i det
krok løper før admin_init
kroken. Så la oss prøve å skrive ut noe ved å plassere admin_init
inne i i det
krok:
add_action ('init', 'test_init'); funksjon test_init () add_action ('admin_init', 'test_admin_init'); funksjon test_admin_init () echo "Admin Init Inside Init";
Etter at du har kjørt denne koden, vil vi få ønsket utgang ved hjelp av ekko
uttalelse.
i det
Inne i admin_init
HookLa oss se koden og utgangen av dette scenariet der en tidligere krok er definert inne i en krok som kommer senere i rekkefølge av utførelse.
add_action ('admin_init', 'test_admin_init'); funksjon test_admin_init () add_action ('init', 'test_init'); funksjon test_init () echo "Init Inside Admin Init";
Her får vi ikke noe output - dette er forventet - fordi i det
krok kjører før admin_init
krok, og dermed er den ikke tilgjengelig etter definisjonen av admin_init
krok.
Som du kan se, er det viktig å forstå utførelsesprosedyren for kroker for å bygge vellykkede plugins. Ordre av forekomst er viktig for alle kroker i WordPress.
i det
og admin_init
krokerBlant init kroker, i det
og admin_init
er verdt å utforske da disse to krokene brukes mye i mange plugins. Bruk av andre initialiseringskroker er rett frem i forhold til disse to krokene.
Som sådan skal vi se på funksjonaliteten til i det
og admin_init
kroker.
De i det
krok utføres i hver forespørsel for både Frontend på WordPress-siden og baksiden.
De admin_init
kroken utføres etter Administrasjonsdelen fullfører sin lasteprosess. Så denne kroken utfører også på hver admin side forespørsel. Brukere må være logget inn for å dra nytte av denne kroken.
Siden begge disse krokene blir utført på hver forespørsel, må vi planlegge funksjonalitetene i gjennomføringen av disse krokene, da det kan påvirke ytelsen til nettstedet sterkt..
i det
krokerVanligvis er initialiseringskroker tilgjengelige i de fleste av de eksisterende WordPress-pluginene, og de er viktige for å håndtere behandlingen.
WordPress definerer ikke hva vi skal og hva vi ikke bør inkludere; Derfor kan utviklere gjøre mindre feil som igjen kan resultere i en stor ytelsesreduksjon. I denne delen skal vi se på hvordan vi effektivt kan bruke begge i det
og admin_init
kroker.
La oss ta en titt på de beste metodene ved bruk av init kroker.
i det
kroki det
krok for registrering av nye egendefinerte innleggstyper.i det
krok da det garanterer utførelsen i hver forespørsel.i det
krok, men husk at disse nye reglene bare får virkning når vi spyler omskrivningsregler.i det
krok.i det
krok.admin_init
krokadmin_init
er den første tiltak som kjører i administrasjonsområdet, slik at vi kan bruke den til å administrere tilgangskontroll.Det er mange andre mulige implementeringer med disse krokene, men disse funksjonene har sine egne kroker, og det er ikke nødvendig å bruke initialiseringskrokene.
Ofte finner vi scenarier hvor utviklere misforstår bruken av initialiseringskrokene. Feil bruk av nevnte kroker kan føre til alvorlige ytelsesproblemer (i tillegg til lavkvalitets plugins).
La oss identifisere de vanlige feilene og hvordan du unngår dem:
i det
handlinger og ende opp med å skape unødvendig ytelse overhead i hver forespørsel. Vi bør sette opp en måte å manuelt spyle omskrivningsreglene ved hjelp av en knapp eller spyl reglene for sjeldne aktiviteter, for eksempel lagring av plugininnstillinger.i det
og admin_init
kan brukes i stedet for bestemte kroker, slik at utviklere har en tendens til å bruke dem uten å ha kunnskap om full effekt. Noen av de vanlige scenariene hvor utviklere bruker i det
og admin_init
kroker i stedet for de anbefalte krokene er som følger: add_menu_page
funksjon. Det anbefales å bruke admin_menu
krok for å opprette admin sider. Men mange utviklere bruker admin_init
krok som den er henrettet etter admin_menu
krok.wp_enqueue_scripts
kroken. Men mange utviklere bruker wp_enqueue_script
inne i i det
krok for å laste inn skript og stiler.Det er mange lignende situasjoner hvor utviklere bruker felles init hook i stedet for funksjonalitet bestemt krok, og det bør forebygges når det er mulig.
WordPress initialisering kroker spiller en viktig rolle i plugin og tema utvikling. Mange utviklere misbruker kroker som skaper unødvendig ytelse overhead. I denne artikkelen diskuterte vi riktig bruk av disse krokene, samt vanlige feil og hvordan du kan unngå dem.
Nå kan vi bruke samme teknikk for å plugge spesifikke tilpassede kroker. Mange avanserte plugins bruker sine egne handlingskroker for å gjøre dem utvidbare. For slike plugins kan vi definere plugin-spesifikke init kroker for å la utviklere fokusere på initialiseringsoppgaver på forhåndsdefinerte kroker istedenfor å bruke dem over alt.
Ta gjerne del i dine erfaringer med riktig bruk av init kroker, samt feil i bruk av initialisering kroker. Ser frem til å se hva du må dele i kommentarene!