Årsaken til at WordPress er det mest populære innholdsstyringssystemet i verden, er selvsagt fleksibiliteten. Den vakkert enkle strukturen av "kroker" gir WordPress denne muligheten. Uten filter kroker og handling kroker, ville WordPress ikke være uttrekkbar så mye, og vi ville ikke kunne ha et så stort spekter av WordPress plugins eller temaer.
I denne serien skal vi gå gjennom handlinger, en av de to typer WordPress-kroker. I løpet av serien, vil vi dekke nesten alt som er å vite om handlinger:
Det kommer til å bli lang, utrolig tur. Spenne seg fast!
I Codex er handlinger definert som følger:
Handlinger utløses av bestemte hendelser som finner sted i WordPress, for eksempel å publisere et innlegg, endre temaer eller vise en administrasjonsskjerm. Handling er en tilpasset PHP-funksjon definert i pluginet ditt (eller temaet) og hekta, dvs. satt til å svare, på noen av disse hendelsene.
Så, i hovedsak, er handlinger utløst av et WordPress-arrangement og kjører før eller etter hendelsen. Handlinger er en av de to slags "kroker" i WordPress - den andre kalles "filtre" som vi dekket for en stund siden - sjekk ut "Fifty Filters of WordPress" hvis du vil lære mer om WordPress-filtre.
Definere hvilke handlinger som er det enkleste vi skal gjøre i denne serien. Heldigvis er det nesten like lett å lære å lage og bruke handlinger. La oss se hvordan vi knytter funksjoner til handlinger, opprett nye handlinger, fjern eksisterende og andre handlingsrelaterte funksjoner i WordPress-kjerne.
Sannsynligvis den enkleste funksjonen blant disse er denne: Det er vant til å hekte vår funksjon til handlingen kroken vi skal bruke:
La oss se hva disse parametrene betyr:
$ hook_name
er navnet på handlingen kroken vi skal bruke$ FUNCTION_NAME
er navnet på vår funksjon$ prioritet
er et heltall vi spesifiserer for å angi hvor tidlig funksjonen skal kjøres i handlingen krok$ argumenter
er antall argumenter som vår funksjon bruker og handlingen krok tillaterLa oss se et raskt eksempel:
Nesten for lett, rett?
Vi har to funksjoner for å fjerne funksjoner fra handlingskroker: remove_action ()
og remove_all_actions ()
. La oss se hvordan vi bruker dem:
De remove_action ()
funksjonen har tre parametere: navnet på kroken, navnet på funksjonen som vi skal fjerne fra kroken og prioriteten som er satt mens du bruker ADD_ACTION ()
. De remove_all_actions ()
funksjonen har ikke den $ FUNCTION_NAME
parameter, siden det fjerner alle funksjoner hekta på handlingen.
Hvis du utvikler WordPress plugins eller temaer, er det god praksis å lage noen kroker i koden din slik at andre utviklere kan forlenge ditt plugin eller tema. For å gjøre det har vi to funksjoner igjen: do_action ()
og do_action_ref_array ()
. La oss se hvordan den første fungerer:
Som du kan se, har funksjonen nesten et uendelig antall parametre siden du kan definere så mange argumenter som du trenger. Hvis du trenger å holde argumenter i en matrise, må du bruke den andre funksjonen:
Hvis du noen gang trenger å vite hvor mange ganger en handling kalles, kan du bruke denne praktiske funksjonen til å telle handlingssamtaler:
Som du kan se, er den eneste parameteren som funksjonen har, navnet på handlingskroken.
Tenk deg at du utvikler en utvidelse for et populært WordPress-plugin, og du må sjekke om brukeren har installert pluginet eller ikke. (Tillegget vil ikke pluginet ditt fungere hvis den andre ikke er installert og aktivert.)
For å sjekke det, kan du bruke has_action ()
funksjon for å sørge for at den populære pluginens handling er tilgjengelig:
Akkurat som did_action ()
funksjon, den has_action ()
funksjonen har bare en parameter: navnet på handlingen krok.
Nå har vi dekket stort sett alt om å skape og bruke handlinger, vi kan fortsette med en fem artikkel-lang handlingseksempel. Vi vurderer bare femti av dem, men hvis du er nysgjerrig, kan du finne hundrevis flere i kjernen.
Jeg håper du vil nyte denne serien så mye som jeg gjorde mens du skaper det hele. Hvis du tror du kan hjelpe meg med opplæringen ved å foreslå flere handlinger og be om flere eksempler, ikke nøl med å fortelle meg og dele dine tanker ved å kommentere nedenfor. Og hvis du likte det du leser i denne serien, ikke glem å dele artiklene!
Se deg i neste opplæring!