For ikke-kodere som lager et WordPress-nettsted, er widgets flotte. De lar deg legge til menyer, lister, feeds, tekst og mye mer til widget områder som ikke trenger å være begrenset til sidefeltet. Mange temaer har nå widget-områder i bunnteksten, og de store temarammene har ofte widget-områder på flere steder, for eksempel toppteksten og før og etter innholdet.
I denne fem delserien tar jeg deg gjennom trinnene som kreves for å lage din første widget. Serien vil dekke:
I denne delen presenterer jeg widgets og Widgets API.
For å lage en widget du forlenge WP_Widget
klassen, som inkluderer en rekke funksjoner:
I tillegg til dette bruker du register_widget ()
funksjon for å registrere widgeten du har opprettet.
Du kan legge stort sett alt du vil inne i en widget - statisk tekst, utdata fra en databasesøk, en feed fra et annet nettsted og mer. Det er imidlertid viktig å huske at brukere vil forvente at widgets passer inn i et definert område på siden, slik at widgetens utgang ikke skal være for stor.
WordPress leveres med en rekke widgets som er innebygd, så før du begynner å kode inn din egen, kontroller at den ikke allerede er i WordPress-kjerne.
I denne serien skal jeg lage en widget fra et plugin jeg utviklet for en tidligere opplæring, om å skape kontekstavhengig sidebarnavigasjon. I den opplæringen utviklet jeg en funksjon som brukere med litt kunnskap om kode kunne falle inn i temaet eller feste til en krok, men det ville være lettere for brukere om de kunne legge til navigasjonen via en widget.
Widgets API inneholder funksjonene du trenger for å lage din widget. La oss ta en titt på hver av dem.
For det første er det fire widgetfunksjoner:
is_active_widget ()
: En betinget kode som kontrollerer om en enkelt widget er aktiv. Ikke forveksle det med is_active_sidebar ()
, som kontrollerer om widgets har blitt lagt til et bestemt widgetområde.the_widget ()
: en mal tag som viser en widget utenfor widget områder.register_widget ()
: Funksjonen for å registrere en widget, som jeg skal bruke senere i denne serien.unregister_widget ()
: avregistrerer en widget, noe som betyr at den ikke lenger er tilgjengelig for brukere via Widgets-skjermbildet.Det er også fem interne funksjoner:
wp_register_widget_control ()
: Oppretter kontrollene på Widgets-skjermen, slik at brukere kan endre widgetens innstillinger.wp_unregister_widget_control ()
: Registrerer widgetkontrollen som er registrert via wp_register_widget_control ()
.wp_convert_widget_settings ()
: dette konverterer en widget s innstillinger danner enkelt forekomst til multi-widget.wp_get_widget_defaults ()
: Kjernefunksjon, ikke for bruk av plugin eller temautviklerewp_widget_description ()
: Lag en widgetbeskrivelse som vises på Widgets-skjermen.For å få tilgang til disse interne funksjonene, vil du gjøre bruk av WP_Widget
klasse. Dette er en konstruktørklasse, som du kan utvide for å lage flere widgets.
Denne innledende veiledningen har forhåpentligvis gjort appetitten din til å lage dine egne widgets. I neste veiledning viser jeg deg hvordan du koder din widget og registrerer den.