Widgets är en så integrerad del av WordPress-teman att det är svårt att föreställa sig ett WordPress-tema utan widgets. Widgets är körbara skript som du enkelt kan dra och släppa i dina sidofält eller något annat widgetklart område i ditt tema. Många av våra läsare använder widgets för att lägga till anpassade element i sitt sidofält. Den här artikeln är dock för de nyfikna användare som vill lära sig hur man lägger till dynamiska widgetklara sidofält eller widgetklara områden i WordPress-teman.
Registrera sidofält eller widgetklara områden i WordPress
Det första du behöver göra är att registrera din sidopanel eller widget-redo yta för ditt tema. Du kan registrera flera sidopaneler och widget-redo ytor. Kopiera och klistra in denna kod i ditt temas functions.php-fil
function wpb_widgets_init() {
register_sidebar( array(
'name' => __( 'Main Sidebar', 'wpb' ),
'id' => 'sidebar-1',
'description' => __( 'The main sidebar appears on the right on each page except the front page template', 'wpb' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
register_sidebar( array(
'name' =>__( 'Front page sidebar', 'wpb'),
'id' => 'sidebar-2',
'description' => __( 'Appears on the static front page template', 'wpb' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>',
) );
}
add_action( 'widgets_init', 'wpb_widgets_init' );
I den här koden har vi registrerat två sidofält. Vi har gett dem namn och beskrivningar för att identifiera dem på Widgets-skärmen. Beskrivningsparametern kan användas för att tala om för användarna var detta sidofält visas i temat. wpb är namnet på temat vi arbetar med, det används här för att göra dessa strängar översättbara. Du bör ersätta det med ditt temanamn.

Lägga till dynamiska widgetklara sidofält i WordPress-temafiler
Hittills har vi bara registrerat dynamiska sidofält. Användare kan dra och släppa widgets i dessa sidofält från skärmen Utseende » Widgets. Dessa sidofält kommer dock inte att visas på din webbplats förrän de anropas i en mall som sidebar.php eller var som helst annars du vill visa dem. För att lägga till dessa widget-områden, redigera mallfilen där du vill visa dem och klistra in denna kod:
<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?> <div id="secondary" class="widget-area" role="complementary"> <?php dynamic_sidebar( 'sidebar-1' ); ?> </div> <?php endif; ?>
I denna exempelkod har vi använt sidofälts-ID för att anropa det sidofält vi vill visa här. Ändra sidofälts-ID för att visa ett annat sidofält. Du kan till exempel registrera tre sidofält för footer-området och sedan anropa dem en efter en i ditt temas footer.php-mall.
Widgets kan vara mycket kraftfulla. Du kan lägga till widgets i dina inlägg och sidinnehåll, göra dina text-widgets färgglada, eller utöka kraften hos standard WordPress-widgets. Rätt placerade widget-redo sidopaneler gör det möjligt för användare att lägga till anpassade element på sina webbplatser med ett enkelt dra-och-släpp-gränssnitt.
Vi hoppas att den här artikeln hjälpte dig att lära dig hur du lägger till dynamiska widgetklara sidofält i WordPress. Vi rekommenderar att du studerar koden i temaramverk som Genesis för att lära dig hur proffs använder dem i sina produkter. För frågor och feedback, lämna en kommentar nedan.


nabil
hej jag behöver två kolumner i sidofältet! hur kan jag göra det med css
Jason
Var kan jag utöka funktionaliteten hos mina wordpress-widgetar
Milada
Hej team igen,
Ursäkta att jag besvärar dig, men jag skulle vilja specificera att jag skulle behöva en widget ovanför det aktuella primära sidofältswidgeten till höger och den andra widgeten på vänster sida av artikeln i mitten.
Hur ska jag gå tillväga?
Tack,
Milada
Milada
Hej team igen,
hur lägger jag till ett fält i widgeten och var och var klistrar jag in en fältkod för att ha affiliatelänkar där?
Tack,
Milada
Tanmay Bala
jag vill lära mig hur man använder DB Plugin i wordpress och redux framework.
Marc
Den här handledningen var till stor hjälp.
Har försökt att åstadkomma detta i ungefär en vecka nu.
Snyggt och rakt på sak.
Tack!
Laura
Jag undrade bara, innan jag faktiskt klistrar in koden, fungerar detta på ett tema som ursprungligen inte har ett sidofält? Jag använder Book Lite som bara har footers.
WPBeginner Support
Ja, det gör det.
Admin
Laura
Tack så länge – jag försökte registrera sidofältet men när jag trycker på "spara" får jag den vita dödsskärmen – vilket jag aldrig haft tidigare. Några förslag på vad som kan vara fel?
Lohith
Thanks Alot
Its really wonderful and simple method to explain….
Bakopu
Tack så väldigt mycket, sir. Var är du, sir, vi vill ta emot dina välsignelser genom att röra vid dina fötter.
akhilesh
tack sir dessa inlägg har varit mycket hjälpsamma för mig
Marcos Nakamine
Fungerade perfekt
Tack
gWorldz
Jag har problem med att få widgeten att visas o.O
Widgeten registreras och visas i backend korrekt utan problem, men den visar bara mitt widgetinnehåll om jag inkluderar innehåll i föregående widget.
Jag använder ett barn-tema från 2011 och registrerar ett ytterligare footer-område.
functions.php-utdrag:
https://gist.github.com/gWorldz/76273b5901e1b5c4759b#file-functions-php
sidebar-footer.php
https://gist.github.com/gWorldz/b6177ccc9734718dd636#file-sidebar-footer-php
style.css
https://gist.github.com/gWorldz/0f24a9350da164ee2f29#file-style-css
Har du någon aning om vad jag gör fel eller vad som orsakar detta problem?
Tiger
Fick du någonsin hjälp med detta? Jag har samma problem.
MJ
Ville bara säga tack för detta. Jag googlade för att ta reda på hur man registrerar ett sidofält i WordPress, och stötte på några andra webbplatser innan denna, och din hade de bästa, tydligaste, mest begripliga anvisningarna. Bra gjort.
arvind
ditt inlägg är till hjälp för mig,
tack !!!!!!!
Dharmendra Prajapati
Äntligen fick jag min dynamiska widgetklara sidofält efter 23 dagar... Jag googlade alla sidor... och till slut omdirigerades jag till din sida.
Tack
Kevin
I det andra utdraget, där du infogar widgetkoden i mallen, där du har
div id=”secondary”
Ska det id:t ändras med varje widgetområde.
T.ex.:
Första, Andra, Tredje, fjärde, etc.
WPBeginner Support
Kevin ja, det borde du, och den bör namnges efter widgetområdet eller sidofältet den representerar.
Admin
SS
Fungerar för att registrera sidofälten men när jag går till skärmen Utseende » Widgets ser jag alla mina widgets men inget att dra dem till.
WPBeginner Support
SS, när du framgångsrikt har registrerat ett dynamiskt widgetklart sidofält kommer det att visas på widgetskärmen. Detta innebär att registreringen av sidofält förmodligen inte fungerade.
Admin
Steve Smart
Hej –
Detta är ett mycket hjälpsamt inlägg. Tack!
Jag har lyckats använda ett dynamiskt widgetområde, nu försöker jag implementera mer än ett. Allt verkar fungera som förväntat, förutom ett udda problem i instrumentpanelen. Om jag drar en textwidget till mitt andra dynamiska widgetområde kan jag lägga till innehåll som du förväntar dig, och spara det, och det ger utdata på mina sidor som förväntat, men om jag nu återbesöker sidan med widgetar i instrumentpanelen, verkar det andra widgetområdet inte innehålla några widgetar.
Jag använder ett twentytwelve-barn tema och Wordpress 3.7.1.
Några tankar?
Jackson
Hearty thanks….You have done such a wonderful work…thanks thanks thanks…
JP
tack, fann detta användbart. rakt på sak.
Praveen Prasad
Kan du tala om för mig var funktionen anropas?
Ed Du
Du kan också använda Headway med en ytterligare block och det kommer att ta hand om allt detta. Eller pagelines för den delen.