oldalsáv wordpress. WordPress oldalsávok, WordPress oldalsávok létrehozása. Alapértelmezett WordPress widgetek

Megjeleníti az első aktív widget panelt (az oldalsáv olyan panel, amely legalább egy widgetet tartalmaz). Megadhatja a panel azonosítóját vagy számát, hogy melyiket jelenítse meg, ha a webhely egynél több widget panellel rendelkezik.

A dynamic_sidebar() igaz vagy hamis értéket ad vissza, és a visszatérési eredmény a widgetsávot is megjeleníti. A visszatérési érték felhasználható például annak meghatározására, hogy fel kell-e dolgozni a widgeteket helyettesítő kódot, ha nincsenek widgetek a panelen (lásd az 1. példát).

visszatér

igaz, ha a widget panelt megtalálták. false, ha a panel nem létezik, vagy nem tartalmaz widgetet.

Használat

$index (karakterlánc/szám) A register_sidebar() függvény id paraméterében megadott panelazonosító a panel regisztrálásakor. Ha megadunk egy számot, akkor a rendszer az ID sidebar-$index panelt keresi.
Alapértelmezett: 1 (oldalsáv-1)

Példák

#1 Jelenítse meg az oldalsávot, ha létezik.

Ez a példa bemutatja, hogyan jeleníthető meg az első nem üres oldalsáv (az oldalsáv azonosítója nem lett megadva a regisztráció során), vagy ha nem található, dolgozza fel a megadott kódot:

#2 Jelenítse meg a kívánt oldalsávot.

#3 Ellenőrizze a panel jelenlétét, és jelenítse meg

A 2. példában nem ellenőriztük, hogy van-e benne panel és widgetek. Ebben a példában ellenőrizni fogjuk a panel jelenlétét, hogy ne jelenjen meg felesleges HTML címkék (

",

[ crayon - 5e1ff7d787fb8042608178 inline = "true" ] "after_widget" => "" ,

előtt_cím

A legtöbb widget címet jelenít meg, ha a felhasználó beírja. Érv előtt_cím ez a widget címének nyitó eleme. Alapértelmezés szerint a WordPress így írja < h2 > . Címkék használatához < h2 > nem éri meg, ebben az esetben a címkék megteszik < h3 > És < h4 > . A kód intuitívitása és olvashatósága érdekében ne készítsen osztályneveket kötőjelek nélkül, hogy kényelmesebb legyen a név elolvasása, nagyon fontos, ha egy ideje nem dolgozott az oldallal.

after_title

Érv after_title ez az argumentumban megadott záró elem előtt_cím. Alapértelmezés szerint a WordPress így írja < / h2 > .

Győződjön meg arról, hogy az értéke megegyezik az argumentumban megadott értékkel előtt_cím.

"after_title" => ""

"after_title" => ""

Dinamikus oldalsáv megjelenítése dynamic_sidebar()

Amikor az oldalsáv létrehozása befejeződött, elkezdheti megjeleníteni a témán belül. A WordPress ehhez készített egy függvényt, melynek neve < a title = "Codex Wordpress függvény dynamic_sidebar()" href= "http://codex.wordpress.org/Function_Reference/dynamic_sidebar" target="_blank" > dynamic_sidebar()< / a > . Ez a függvény mindig paramétert kér $index, amely egyszerre egyaránt elhelyezhető az argumentumban id, és az érvelésben név(az oldalsáv létrehozása során megadva). Bár technikailag lehetséges mindkettőt használni, sokkal biztonságosabb az Ön által előírt. id.

Az egyik sablonban található alábbi kód segítségével elhelyezheti az oldalsávot elsődleges fentebb leírtuk. vegye figyelembe, hogy div Val vel osztályÉs id Belátása szerint változtathatja és különféle csavarokat hajthat végre css stílusok.

// a webhelysáv megjelenítési funkciójának meghívása

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

// a webhelysáv megjelenítési funkciójának meghívása

< / div >

Általában ez a kód a fájlban található oldalsáv - elsődleges . php, amelyről egy pillanat alatt megtudhat, amikor az oldalsáv sablonjairól beszélünk. azonban dynamic_sidebar() bárhol hívható a témában.

  • Mi és

Alapértelmezett tartalommegjelenítés

Egyes témafejlesztők saját tartalmaikat jelenítik meg, ha a felhasználó nem rögzített egy widgetet sem egy adott oldalsávhoz. Az oldalsávon lévő modulok ellenőrzéséhez használja a feltételes címkét is_active_sidebar() .

Akárcsak egy függvény dynamic_sidebar(), az oldalsáv kitöltésére szolgál, a funkció is_active_sidebar() mindig kér egy paramétert $index, aminek lennie kell ID ellenőrzött oldalsáv.

Az alábbi kóddal tesztelhetjük oldalsávunkat elsődleges kütyühöz. Ha vannak widgetek, akkor azokat megjelenítjük, ha nincs, akkor a speciálisan elkészített tartalmat.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

Nem jelenik meg az oldalsáv widgetek nélkül

Az előző rész bemutatta, hogyan helyezheti el a hiányzó tartalmat, ha egy bizonyos oldalsáv nem aktív, de lehetősége van az oldalsáv teljes összecsukására (semmi megjelenítésére), ha az oldalsáv nem aktív.

Ismét használni fogjuk a funkciót is_active_sidebar() hogy ellenőrizze az oldalsávot elsődleges kütyühöz.

< div id = "id-vidgeta-primary" class = "moi-saidbar" >

< / div >

Itt egyébként érdekes dolgokra lehet gondolni. Például létrehozhat egy dinamikus oldalsávszélességet a tartalomhoz az alapján, hogy melyik oldalsáv aktív és melyik nem. Erről bővebben a következő cikkekben.

Oldalsáv sablonok – Oldalsáv

A dinamikus oldalsáv létrehozásának és használatának minden aspektusát érintettük, de meg kell jegyezni, hogy vannak más érdekes funkciók is. Tehát vessünk egy pillantást az oldalsáv sablonjaira.

Az oldalsávsablon a dinamikus oldalsávkód tárolására szolgál (lásd fent a „Dinamikus oldalsáv megjelenítése”). Átlagosan az összes WordPress témához tartozik egy sablon oldalsáv. php. Ha a témája egy oldalsávval rendelkezik, ez a sablon elegendő.

Az oldalsáv sablonjai a témán belül töltődnek ki a funkció segítségével get_sidebar().Az alábbi kódot szoktam használni egy fájl feltöltésére oldalsáv. php.

[ zsírkréta - 5e1ff7d788042260898923 inline = "igaz" ]

get_sidebar() is mindig kér egy paramétert $ név, amely lehetővé teszi konkrétabb minták kitöltését. Például az alábbi kód sablonfájlt kér oldalsáv - elsődleges . php.

[ zsírkréta - 5e1ff7d788051693571425 inline = "igaz" ]

A téma rendben tartása és a kód elkülönítése érdekében minden dinamikus oldalsávhoz külön sablont kell létrehoznia. Azt javaslom, hogy először hozzon létre két dinamikus oldalsávot egyedivel id: elsődlegesÉs másodlagos. A jobb szervezés érdekében hozzon létre két fájlt: oldalsáv - elsődleges . php és oldalsáv-másodlagos. php.

Mindkét sablon létrehozásához szüksége lesz az alábbi kódra.

[ zsírkréta - 5e1ff7d788066428860015 inline = "true" ]

Fent látható a hagyományos kód, amelyet a sablonok létrehozásához használok. Kissé módosíthatja, hogy a legjobban megfeleljen személyes igényeinek. Továbbra is meg kell győződnie a funkció használatáról get_sidebar() az oldalsáv sablonjának kitöltésekor.

Ne feledje, hogy az oldalsávsablonok nem mindig jelenítenek meg dinamikus oldalsávokat. Technikailag tartalmazhatnak kódolt felhasználói tartalmat, amely bármit tükrözhet. Ne feledje továbbá, hogy a sablon szinte bármely fájljában elhelyezhet egy dinamikus oldalsávot, amely a webhely különböző oldalain jelenik meg.

Rossz oldalsáv kód

Számos olyan hiba van, amely kódról kódra ismétlődik, amelyek nem elfogadhatók a jó webhelyeken. Természetesen nem mindegyik technikailag hibás, de meghibásodásokhoz vezethetnek, vagy egyszerűen csak plusz kódterhelést jelentenek.

1. probléma: Rendetlen kód került be funkciókat. php

Ha témákat fejleszt, tudnod kell, hogy a WordPress beépített hookjai hookkal is működnek. Nemcsak ismerni kell őket, hanem használni is kell őket. A legnagyobb probléma, amit találtam, az az, hogy a kód egyszerűen belekerül funkciókat. php. Létre kell hoznia egy oldalsáv regisztrációs funkciót, majd csatolnia kell a widgets_init fájlhoz. Ennek végrehajtására fent láthat egy példát a Dinamikus oldalsáv regisztrálása és létrehozása részben.

Mellékes megjegyzésként: felejtse el, hogy a kódot egyszerűen beírhatja funkciókat. php. Mindig használja a hooks funkciót a WordPressben, ez biztosítja, hogy a funkciók 100%-ban teljesek legyenek.

2. probléma: nincsenek regisztrált azonosítók

Fontos megérteni, hogy ha az azonosító nincs egyértelműen megfogalmazva, ez bizonyos következményekkel jár. Amikor használod register_sidebar() vagy register_sidebars() egyén felírása nélkül id, a WordPress automatikusan létrehozza a mutatókat id, számolva a már létrehozott oldalsávok számát. És úgy tűnik, minden csodálatos. De ez nagy hiba. Hiszen amikor egy plugin ill gyerek témaúj oldalsávot hoz létre, az oldalsáv 1-es azonosítót kap (ha ez az első az adatfolyamban), ami miatt az összes többi oldalsáv azonosítója megváltozik. Amikor a felhasználó hozzáfér az oldalsávhoz, látni fogja, hogy az összes widgetje egy másik oldalsávhoz van rendelve.

A widgetek a dinamikus oldalsávhoz vannak csatolva annak megfelelően id. Ha id változások, a widgetek is mozognak. Ezért olyan fontos a helyes felírás id miközben létrehozza az oldalsávot. Fent, a „Regisztráció és dinamikus oldalsáv létrehozása” részben láthatja, hogyan kell ezt helyesen csinálni.

A tiszta írás másik előnye id hogy pontosan tudod, mit id más funkciókhoz, mint pl dynamic_sidebar()És is_active_sidebar function_exists() nincs szükség. Ahogy a cikkben korábban említettük, a dinamikus oldalsávok 2007 óta léteznek. Ezt a típusú ellenőrzést csak a visszamenőleges kompatibilitás érdekében használhatja. A legtöbb téma azonban nem kompatibilis visszafelé, és az előző verzió óta nem javaslom a használatát.

A függvény létezésének ellenőrzésének egyik gyakori típusa register_sidebar() alább bemutatjuk. Felejtse el az ilyen típusú ellenőrzéseket, és csak hozzon létre egy oldalsávot.

if (function_exists("register_sidebar")) dynamic_sidebar include (TEMPLATEPATH . "/sidebar.php" ) ;

Ez nem a legjobb módja az oldalsáv megjelenítésének egy témában. A WordPress rendszernek van egy funkciója get_sidebar(), amellyel ezt könnyedén megteheti. Mindig a fenti példában, az "Oldalsáv sablonjai" részben látható módon használja. Érdemes ezt a funkciót használni, mert a horog

Néha vannak olyan témák, ahol csak 1 oldalsáv van, és ezeket magának a témának az igényeire használják, és nem lehet oda új widgeteket elhelyezni. Lehet, hogy módosítania kell egy meglévő témasablont, és hozzá kell adnia egy további oldalsávot, tegyük fel, hogy a témának van egy a bal oldalán, de hozzá kell adnia egy másikat a jobb oldalon.

Ennek a problémának a megoldása egyáltalán nem nehéz. Elég a functions.php témafájlokon és annak az oldalnak a sablonfájljain apró változtatásokat végrehajtani, ahová az oldalsávot el szeretné helyezni. Hogyan lehet megtudni, hogy melyik fájl felelős az oldalak megjelenítéséért

Először regisztrálnia kell egy új oldalsávot. Ez a sablon mappájában található functions.php fájlban történik. register_sidebar(array("name" =>"Új oldalsáv", "id" => "szekunder-widget-area", "before_widget" => "
  • ", "after_widget" => "
  • ", "before_title" => "

    ", "after_title" => "

    ",));

    Kész, egy új oldalsáv jelent meg a widget vezérlőpultján. Már csak a style.css fájl megjelenését kell kissé testreszabni (másolhatja a megjelenést a meglévőből)

    Mi van a kódban

    Név– az oldalsáv (oldalsáv) neve, az adminisztrációs panel Widgetek menüpontjában jelenik meg.
    id- egyedi azonosító. Az oldalhoz való hozzáadáshoz szükséges.
    előtt_widget- kód vagy szöveg, amelyet minden widget elé kell beilleszteni.
    after_widget- kód vagy szöveg, amelyet minden widget után kell beilleszteni.
    előtt_cím– a widget címe elé beszúrandó kód vagy szöveg.
    after_title– a widget címe után beszúrandó kód vagy szöveg.

    Ügyeljen az azonosítóra, az oldalsáv nevére, ebben az esetben ez "másodlagos widget-terület". Pontosan meg kell egyeznie a functions.php fájlban a regisztráció során megadott névvel.

    Az oldalsáv egy speciális mező a webhelyen, ahová widgetek vannak beágyazva. Más szóval, ez egy dinamikus tartalmú rovat. Szinte minden sablonnak vannak ilyen oszlopai, és számuk eltérő lehet. Gyakran 1-4 oszlopot használnak.

    Annak érdekében, hogy bármilyen sablon a lehető legegyedibb legyen, vagy egyszerűen csak javítsa a megjelenést vagy feltűnjön, megváltoztathatja az oszlopok helyzetét a fő szövegmezőhöz képest a WordPress szabványos, ingyenes és fizetős sablonjaiban, amit mi meg is teszünk. ebben a cikkben.

    Az oldalsáv és a törzsszöveg helyének módosítása

    Tehát tegyük fel, hogy az általunk használt sablonnak van egy oszlopa a widgetek számára, azaz egy oldalsáv, és egy fő oszlop, ahol a cikkeink és oldalaink szövege található:

    Hagyja, hogy a widgetekkel ellátott oszlop a jobb oldalon legyen, és balra kell mozgatnunk a széléhez. Ennek megfelelően a fő szövegtartalommal rendelkező oszlop jobbra, a legszélére kerül.

    Mindehhez kicsit módosítani kell a stílusokon. A szöveges tartalom gyakran #content stílusú, míg a widget tartalma gyakran #sidebar stílusú. Mindössze annyit kell tennie, hogy módosítsa az első tulajdonságait float: left; úszón: jobbra; a másodikhoz pedig más sorrendben.

    Módosítsa az oldalsáv helyét a Twenty Twelwe témában

    Tekintse meg a fentieket a WordPress szabványos reszponzív témájának példáján.

    Oldalsáv – szinte minden webhely része, általában a tartalomterülettől balra, jobbra vagy a lábléc (lábléc) elé kerül. A WordPress oldalsávjai sem kivételek. Az egyetlen különbség az, hogy a WordPressben az oldalsáv egy olyan terület, ahol a widgetek automatikusan megjelennek. A WordPressben korlátlan számú oldalsávot hozhat létre, de például én két oldalsávot fogok létrehozni, a fő tartalomterülettől balra és jobbra.

    WordPress oldalsávok regisztrációja

    Ahhoz, hogy az oldalsávok először megjelenjenek az adminisztrációs panelen, regisztrálnunk kell őket. Más szóval, adja hozzá a kódot a functions.php fájlhoz:

    /** * Regisztrálja az oldalsávokat. */ function fwbs_widgets_init() ( register_sidebar(array("name" => __("Jobb oldali oszlop", "fwbs"), "id" => "sidebar-1", "description" => __("Jobb oldalsáv " , "fwbs"), "before_widget" => "

    ", "before_title" => "

    ", "after_title" => "

    ",)); register_sidebar(array("name" => __("Bal oszlop", "fwbs"), "id" => "sidebar-2", "description" => __("Bal oszlop a webhely láblécében ", "fwbs"), "before_widget" => " ", "before_title" => "

    ", "after_title" => "

    ",)); ) add_action("widgets_init", "fwbs_widgets_init");

    A fenti kód elemzése WordPress oldalsávok létrehozásához

    Nem olyan bonyolult, mint amilyennek első pillantásra tűnik.

    • "name" => __("Jobb oszlop", "fwbs") - a widget terület neve, tetszőleges nevet írhatsz, csak óvatosan a zárójelek közé, nézd meg a képernyőn, hogy hol jelenik meg;
    • "id" => "sidebar-1" - Az ID az oldalsávhoz rendelt egyedi azonosító, minden oldalsávnak saját, más azonosítóktól eltérő azonosítóval kell rendelkeznie;
    • "description" => __("Jobb oldali oszlop", "fwbs") - leírás, hasonló a widget zóna nevéhez;
    • "before_widget" => "
    • "after_widget" => "" - az oldalsáv zónáját lezáró HTML tag. Mint tudjuk, az összes HTML címkét néhány kivétellel párosítani kell (nyitás és bezárás);
    • "before_title" => "

      " - a widget címe egy H4 címkébe lesz csomagolva az osztállyal

      , módosíthatja a H1, H2, H3, H4, H5, H6 fejléc jelentőségét és saját osztályokat rendelhet hozzá;

    • "after_title" => ""- záráspár címke a widget címéhez.

    Most megyünk az adminisztrációs panelre, a "kütyü" részre, és nézzük meg az eredményt. Itt egy kép, amit kaptam:

    Ezzel a kóddal két WordPress widget zónát regisztráltam, most ezeket kell megjelenítenem a képernyőn.

    WordPress oldalsávok megjelenítése

    Az oldalsávok bárhol megjelenítéséhez a sablonban logikus, hogy a következő kódot írja a megfelelő helyre:

    Néhány magyarázat a kódhoz:

    • - PHP kód, ami parancsot ad, ha az oldalsávban id=sidebar-1 alatt vannak widgetek, akkor azt meg kell jeleníteni a képernyőn, ha nincs widget, akkor nem jelenik meg az oldalsáv;
    • - PHP kód, amely meghívja az oldalsávot az id=sidebar-1 alatt azon a helyen, ahol a sablonkódban írtad.

    De mint látható, a WordPress sablonokban az oldalsáv kimeneti kódja külön sidebar.php fájlokba kerül, majd a tartalom a sablon megfelelő helyére kerül a sidebar.php fájlból. Mint tudjuk, hogy a WordPress dinamikusan jeleníti meg a tartalmat, és a webhelysablon több részből áll, ennek egyik része a sidebar.php fájl Hadd tegyem ezt meg.

    A sidebar.php fájl létrehozása

    Hozzon létre egy olyan fájlt, mint a sidebar-right.php, adjon neki címet, és illessze be a fenti kódot. Mindez együtt így fog kinézni:

    Amint a példából is látható, a kódot további HTML jelöléssel egészítettem ki. Most a widget terület megjelenítéséhez a következőket kell írni a megfelelő helyre:

    A bal oldali oszlophoz ennek megfelelően létrejön a sidebar-left.php fájl, amely a sablon megfelelő helyére kerül a következőképpen:

    Ahogy mondják, találjon egy különbséget a kódban.

    Ennyi, elkészültek az oldalsávok, most már csak az maradt hátra, hogy a sablonban készítsünk nekik jelölést és írjunk CSS stílusokat.



    
    Top