För icke-kodare som skapar en WordPress-webbplats är widgets bra. De låter dig lägga till menyer, listor, flöden, text och mycket mer till widgetområden som inte behöver begränsas till sidofältet. Många teman har nu widgetområden i sidfoten, och de stora tematiska ramarna har ofta widgetområden på flera platser, såsom rubriken och före och efter innehållet.
I den här fem delserien tar jag dig igenom de steg som krävs för att skapa din första widget. Serien kommer att omfatta:
I den här delen presenterar jag widgets och Widgets API.
För att skapa en widget förlänger du WP_Widget
klass, som innehåller ett antal funktioner:
Utöver detta använder du register_widget ()
funktion för att registrera widgeten du skapat.
Du kan lägga ganska mycket vad du vill inne i en widget - statisk text, utmatningen från en databasfråga, ett flöde från en annan webbplats och mer. Det är dock viktigt att komma ihåg att användarna kommer att förvänta sig att widgets passar in i ett definierat område på sidan, så din widgetens utdata borde inte vara för stor.
WordPress levereras med en rad widgets inbyggda, så innan du börjar koda din egen, kontrollera att den inte redan finns i WordPress-kärnan.
I den här serien ska jag skapa en widget från ett plugin som jag utvecklat för en tidigare handledning, om att skapa kontextkänslig sidoregistrering. I den handledningen utvecklade jag en funktion som användare med viss kunskap om kod skulle kunna släppa in i temat eller bifoga en krok, men det skulle vara lättare för användarna om de skulle kunna lägga till navigationen via en widget.
Widgets API innehåller funktionerna som du behöver för att skapa din widget. Låt oss ta en titt på var och en av dem.
För det första finns det fyra widgetfunktioner:
is_active_widget ()
: en villkorlig kod som kontrollerar om en enskild widget är aktiv. Förvirra inte det med is_active_sidebar ()
, som kontrollerar om widgets har lagts till i ett specifikt widgetområde.the_widget ()
: en malltagg som visar en widget utanför widgetområdena.register_widget ()
: Funktionen att registrera en widget, som jag kommer att använda senare i denna serie.unregister_widget ()
: avregistrerar en widget, vilket innebär att den inte längre är tillgänglig för användare via Widgets-skärmen.Det finns också fem interna funktioner:
wp_register_widget_control ()
: skapar kontrollerna på skärmen Widgets så att användare kan ändra widgetens inställningar.wp_unregister_widget_control ()
: registrerar widgetkontrollen som har registrerats via wp_register_widget_control ()
.wp_convert_widget_settings ()
: Det här konverterar en widgets inställningar från en enda instans till flera widgetar.wp_get_widget_defaults ()
: Kärnfunktion, inte användas av plugin eller tematillverkarewp_widget_description ()
: skapar en widget beskrivning som kommer att visas på Widgets skärmen.För att komma åt dessa interna funktioner använder du WP_Widget
klass. Det här är en konstruktörsklass, som du kan förlänga för att skapa ytterligare widgets.
Denna inledande handledning har förhoppningsvis visat din aptit för att skapa egna widgets. I nästa handledning visar jag dig hur du kodar din widget och registrerar den.