A legegyszerűbb sablon is rendelkezik beépített widget területekkel, a leggyakrabban a bal/jobb oldalsáv (sidebar) és a lábléc (footer) az a felület, ahová widgeteket helyezhetünk el, azonban felmerülhet olyan igény is, hogy a sablonnal érkező alapértelmezett pozíciókon kívül egyéni helyeket is definiáljunk. A lenti módszer segítségével könnyedén hozhatunk létre új widget pozíciókat a sablon tetszőleges helyén ezután pedig a vezérlőpulton keresztül néhány kattintással adhatunk ezekhez a területekhez új widgeteket.
Az első lépés az új pozíció definiálása, a folyamat végén már ott is lesz a “Megjelenés/Widgetek” szekció alatt az egyénileg definiált widget szekciónk, ahová ugyanúgy pakolászhatunk widgeteket, ahogyan az alapértelmezettek esetében.
Az aktív sablonunk functions.php fájljának a végére kell beillesztenünk a következő kódsort:
function arphabet_widgets_init() { register_sidebar( array( 'name' => 'Egyeni terulet neve', 'id' => 'egyeni_terulet', 'before_widget' => '<div>', 'after_widget' => '</div>', 'before_title' => '<h2>', 'after_title' => '</h2>', ) ); } add_action( 'widgets_init', 'arphabet_widgets_init' );
A fentieket a következőképpen paraméterezzük: A “name” után értelemszerűen a widget pozíciónk neve kerüljön, ez fog megjelenni a widgetek menüben is. Mivel ezt csak mi látjuk, ezért olyan nevet adjunk, ami alapján könnyedén tudjuk majd azonosítani. Az “id” lesz a widget terület azonosítója, itt ne használjunk sem ékezetet, sem szóközt, erre az ID-re lesz majd szükségünk ahhoz, hogy a kívánt helyen megjelenítsük majd az új pozíció widgetjeit. A “before_widget” és az “after_widget’, valamint a “before_title” és az “after_title” opcionális, ezek elhagyhatók, azonban ha szükség van rájuk, akkor segítségükkel megadhatjuk, hogy a widget és a widget címe előtt valamint után milyen HTML tagek szerepeljenek. Tehát használatukkal keretbe foglalhatjuk a widget területünket, ez főként akkor hasznos, ha szeretnénk neki egyedi CSS osztályt vagy azonosítót adni a kinézetének testreszabáshoz.
Ha a fentiekkel készen vagyunk, akkor ellenőrizzük, hogy sikerrel jártunk-e, lépjünk be a “Megjelenés/Widgetek” panelbe és ha látjuk az egyéni névvel ellátott widget területünket, akkor jöhet a következő lépés. Egyelőre hiába is pakolnánk bele tartalmakat hiszen nem adtuk meg, hogy hol is szeretnénk, hogy ezek megjelenjenek. Ez következik most.
A lenti kódsort kell beillesztetnünk a sablonunk megfelelő PHP fájlába a widget terület tartalmának megjelenítéséhez:
<?php if ( is_active_sidebar( 'egyeni_terulet' ) ) : ?> <?php dynamic_sidebar( 'egyeni_terulet' ); ?> <?php endif; ?>
A kód figyeli, hogy a widget terület aktív-e (azaz jelenleg szerepel-e benne widget), ha igen, akkor pedig megjeleníti a tartalmát. Fontos, hogy a kódban szereplő “egyeni_terulet” rész megegyezzen a functions.php fájlba illesztett kódrészletben szereplő ID-vel.
Ezzel a módszerrel tetszőleges számú új widget területet hozhatunk létre bárhol a sablonunkban.