sivupalkki wordpress. WordPress-sivupalkit, WordPress-sivupalkin luominen. WordPressin oletuswidgetit

Näyttää ensimmäisen aktiivisen widget-paneelin (sivupalkki on paneeli, joka sisältää vähintään yhden widgetin). Voit määrittää paneelin tunnuksen tai numeron, kumpi näytetään, jos sivustolla on useampi kuin yksi widget-paneeli.

dynamic_sidebar() palauttaa tosi tai epätosi, ja palautustulos näyttää myös widget-palkin. Palautusarvoa voidaan käyttää esimerkiksi määrittämään, tuleeko widgetejä korvaava koodi käsitellä, kun paneelissa ei ole widgetejä (katso esimerkki #1).

palaa

tosi, jos widget-paneeli löytyi. false, jos paneelia ei ole olemassa tai se ei sisällä widgetejä.

Käyttö

$indeksi (merkkijono/numero) Paneelin tunnus, joka määritettiin register_sidebar()-funktion id-parametrissa, kun paneeli rekisteröitiin. Jos numero annetaan, haetaan paneelia, jossa on ID-sivupalkki-$index.
Oletus: 1 (sivupalkki-1)

Esimerkkejä

#1 Näytä sivupalkki, jos se on olemassa.

Tämä esimerkki näyttää, kuinka ensimmäinen ei-tyhjä sivupalkki näytetään (sivupalkin tunnusta ei määritetty rekisteröinnin aikana) tai jos sitä ei löydy, käsittele määritetty koodi:

#2 Näytä haluamasi sivupalkki.

#3 Tarkista paneelin olemassaolo ja näytä se

Esimerkissä 2 emme tarkistaneet, onko siinä paneelia ja widgetejä. Tässä esimerkissä tarkistamme paneelin olemassaolon, jotta emme näytä tarpeettomia HTML-tunnisteet (

",

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

ennen_otsikkoa

Useimmat widgetit näyttävät otsikon, jos käyttäjä antaa sen. Perustelu ennen_otsikkoa tämä on widgetin otsikon avauselementti. Oletuksena WordPress kirjoittaa sen nimellä < h2 > . Tunnisteiden käyttämiseen < h2 > ei ole sen arvoista, tässä tapauksessa tagit käyvät < h3 > Ja < h4 > . Koodin intuitiivisuuden ja luettavuuden vuoksi älä tee luokkien nimiä ilman yhdysmerkkejä, jotta sinun olisi helpompi lukea nimi itse, on erittäin tärkeää, jos et ole työskennellyt sivuston kanssa vähään aikaan.

after_title

Perustelu after_title tämä on argumentissa määritetty sulkeva elementti ennen_otsikkoa. Oletuksena WordPress kirjoittaa sen nimellä < / h2 > .

Sinun on varmistettava, että sen arvo vastaa argumentissa määritettyä arvoa ennen_otsikkoa.

"after_title" => ""

"after_title" => ""

Dynaamisen sivupalkin näyttäminen dynamic_sidebar()

Kun sivupalkin luominen on valmis, voit alkaa näyttää sitä teeman sisällä. WordPress on luonut tätä varten toiminnon nimeltä < a title = "Codex Wordpress -toiminto dynamic_sidebar()" href= "http://codex.wordpress.org/Function_Reference/dynamic_sidebar" target="_blank" > dynamic_sidebar()< / a > . Tämä toiminto kysyy aina parametria $indeksi, joka voi sijaita samanaikaisesti argumentissa id, ja argumentissa nimi(määritetty sivupalkin luomisen yhteydessä). Vaikka molempien käyttö on teknisesti mahdollista, on paljon turvallisempaa käyttää määräämääsi. id.

Voit sijoittaa sivupalkin käyttämällä alla olevaa koodia yhdessä mallissasi ensisijainen kuvattu juuri yllä. ota huomioon, että div Kanssa luokkaa Ja id Voit muuttaa oman harkintasi mukaan ja ruuvata erilaisia css tyylejä.

// kutsuu sivustopalkin näyttötoimintoa

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

// kutsuu sivustopalkin näyttötoimintoa

< / div >

Yleensä tämä koodi sijaitsee tiedostossa sivupalkki - ensisijainen . php, josta opit hetken kuluttua, kun puhumme sivupalkkimalleista. kuitenkin dynaaminen_sivupalkki() voidaan kutsua mihin tahansa teemassasi.

  • Teemme ja

Sisällön oletusnäyttö

Jotkut teemakehittäjät näyttävät oman sisältönsä, jos käyttäjä ei ole kiinnittänyt widgetejä tiettyyn sivupalkkiin. Tarkista sivupalkissa olevat widgetit käyttämällä ehdollista tunnistetta is_active_sidebar() .

Aivan kuin toiminto dynaaminen_sivupalkki(), jota käytetään täyttämään sivupalkki, toiminto is_active_sidebar() kysyy aina parametria $indeksi, jonka pitäisi olla ID sivupalkki, jota tarkistat.

Alla olevalla koodilla voimme testata sivupalkkiamme ensisijainen widgeteille. Jos widgetejä on, näytämme ne, jos ei, näytämme erityisesti valmistamamme sisällön.

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

< / div >

Sivupalkkia ei näytetä ilman widgetejä

Edellinen osio osoitti, kuinka voit sijoittaa puuttuvan sisällön, kun tietty sivupalkki ei ole aktiivinen, mutta sinulla on myös mahdollisuus tiivistää sivupalkki kokonaan (ei näytä mitään), kun sivupalkki ei ole aktiivinen.

Käytämme toimintoa uudelleen is_active_sidebar() tarkistaaksesi sivupalkin ensisijainen widgeteille.

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

< / div >

Muuten, täällä voit ajatella mielenkiintoisia asioita. Voit esimerkiksi luoda sisällöllesi dynaamisen sivupalkin leveyden sen mukaan, mitkä sivupalkit ovat aktiivisia ja mitkä eivät. Tästä lisää seuraavissa artikkeleissa.

Sivupalkkimallit – sivupalkki

Olemme käsitelleet kaikkia dynaamisen sivupalkin luomisen ja työskentelyn näkökohtia, mutta on huomattava, että on muitakin mielenkiintoisia ominaisuuksia. Joten katsotaanpa sivupalkin malleja.

Sivupalkkimallia käytetään dynaamisen sivupalkkikoodin isännöimiseen (katso yllä olevaa 'Dynaamisen sivupalkin näyttö'). Keskimäärin kaikilla WordPress-teemoilla on yksi malli nimeltään sivupalkki. php. Jos teemassasi on yksi sivupalkki, tämä malli riittää.

Sivupalkkimallit täytetään teeman sisällä toiminnolla get_sidebar().Alla olevaa koodia käytän yleensä tiedoston täyttämiseen sivupalkki. php.

[ värikynä - 5e1ff7d788042260898923 inline = "true" ]

get_sidebar() kysyy myös aina parametria $ nimi, jonka avulla voit täyttää tarkempia kuvioita. Esimerkiksi alla oleva koodi pyytää mallitiedostoa sivupalkki - ensisijainen . php.

[ värikynä - 5e1ff7d788051693571425 inline = "true" ]

Jotta teemasi pysyisi järjestyksessä ja koodi erottuisi, sinun on luotava erityinen malli jokaiselle dynaamiselle sivupalkille. Ehdotan, että luot ensin kaksi dynaamista sivupalkkia ainutlaatuisilla id: ensisijainen Ja toissijainen. Järjestä paremmin luomalla kaksi tiedostoa: sivupalkki - ensisijainen . php ja sivupalkki-toissijainen. php.

Tarvitset alla olevan koodin molempien mallien luomiseen.

[ värikynä - 5e1ff7d788066428860015 inline = "true" ]

Yllä on perinteinen koodi, jota käytän mallien luomiseen. Voit muokata sitä hieman vastaamaan henkilökohtaisia ​​tarpeitasi. Sinun on silti varmistettava, että käytät toimintoa get_sidebar() kun täytät sivupalkin mallia.

Muista, että sivupalkkimallit eivät aina näytä dynaamisia sivupalkkeja. Ne voivat teknisesti sisältää koodattua käyttäjäsisältöä, joka pystyy heijastamaan mitä tahansa. Muista myös, että voit sijoittaa dynaamisen sivupalkin lähes mihin tahansa mallin tiedostoon näytettäväksi sivuston eri sivuilla.

Huono sivupalkkikoodi

On useita virheitä, jotka toistuvat koodista koodiin, joita ei hyväksytä hyvillä sivustoilla. Kaikki eivät tietenkään ole teknisesti virheellisiä, mutta ne voivat johtaa toimintahäiriöihin tai ovat vain ylimääräistä koodia.

Ongelma 1: Sotkuinen koodi upotettu sisään toimintoja. php

Jos kehität teemoja, sinun on tiedettävä, että WordPressin sisäänrakennetut koukut toimivat koukkujen kanssa. Niiden tuntemisen lisäksi on tärkeää myös käyttää niitä. Suurin ongelma, jonka olen löytänyt, on se, että koodi vain upotetaan sisään toimintoja. php. Sinun tulisi luoda sivupalkin rekisteröintitoiminto ja liittää se sitten widgets_init-tiedostoon. Näet esimerkin tämän tekemisestä yllä Rekisteröi ja luo dynaaminen sivupalkki -osiossa.

Sivuhuomautuksena: Unohda, että voit vain upottaa koodin sisään toimintoja. php. Käytä aina koukkutoimintoa WordPressissä, tämä varmistaa, että toiminnot ovat 100% täydellisiä.

Ongelma 2: ei rekisteröityjä tunnuksia

On tärkeää ymmärtää, että jos tunnus ei ole selkeästi kirjoitettu, sillä on varmasti tiettyjä seurauksia. Kun käytät register_sidebar() tai register_sidebars() ilman yksittäistä lääkemääräystä id, WordPress luo automaattisesti indikaattoreita id, joka laskee jo luotujen sivupalkkien määrän. Ja näyttää siltä, ​​että kaikki on ihanaa. Mutta tämä on suuri virhe. Loppujen lopuksi kun laajennus tai lasten teema luo uuden sivupalkin, sivupalkille annetaan tunnus 1 (jos se on ensimmäinen streamissa), mikä saa kaikkien muiden sivupalkkien tunnukset muuttumaan. Kun käyttäjä käyttää sivupalkkia, hän näkee, että kaikki hänen widgetinsä on liitetty toiseen sivupalkkiin.

Widgetit on liitetty dynaamiseen sivupalkkiin sen mukaan id. Jos id muutokset, myös widgetit liikkuvat. Siksi on niin tärkeää määrätä oikein id kun luot sivupalkin. Yllä olevasta osiosta "Rekisteröityminen ja dynaamisen sivupalkin luominen" näet, kuinka se tehdään oikein.

Toinen selkeän kirjoittamisen etu id että tiedät tarkalleen mitä id tarkoitettu käytettäväksi muissa toiminnoissa, kuten dynaaminen_sivupalkki() Ja is_active_sidebar function_exists() ei ole tarvetta. Kuten tässä artikkelissa aiemmin mainittiin, dynaamiset sivupalkit ovat olleet käytössä vuodesta 2007. Voit käyttää tämäntyyppistä tarkistusta vain taaksepäin yhteensopivuuden varmistamiseksi. Useimmat teemat eivät kuitenkaan ole taaksepäin yhteensopivia, enkä suosittele sen käyttöä edellisen version jälkeen.

Yksi yleisimmistä funktion olemassaolon tarkistustyypeistä register_sidebar() esitetään alla. Unohda tämäntyyppinen tarkistus ja luo vain sivupalkki.

if (function_exists("register_sidebar")) dynaaminen_sivupalkki sisältää (TEMPLATEPATH . "/sidebar.php" ) ;

Tämä ei ole paras tapa näyttää sivupalkki teemassa. WordPress-järjestelmässä on toiminto get_sidebar(), jolla voit tehdä tämän helposti. Käytä sitä aina yllä olevan esimerkin "Sivupalkkimallit" -osiossa osoittamalla tavalla. Sinun tulisi käyttää tätä toimintoa, koska koukku

Joskus on teemoja, joissa on vain yksi sivupalkki ja niitä käytetään itse teeman tarpeisiin, eikä sinne voi sijoittaa uusia widgetejä. Ehkä sinun täytyy muokata olemassa olevaa teemamallia ja lisätä ylimääräinen sivupalkki. Oletetaan, että teemalla on yksi vasemmalla, mutta sinun on lisättävä toinen oikealle.

Tämän ongelman ratkaiseminen ei ole ollenkaan vaikeaa. Riittää, kun teet pieniä muutoksia functions.php-teematiedostoihin ja sen sivun mallitiedostoon, johon haluat sijoittaa sivupalkin. Kuinka selvittää, mikä tiedosto vastaa sivujen näyttämisestä

Ensin sinun on rekisteröitävä uusi sivupalkki. Tämä tehdään mallikansion functions.php-tiedostossa. register_sidebar(array("nimi" =>"Uusi sivupalkki", "id" => "secondary-widget-area", "before_widget" => "
  • ", "after_widget" => "
  • ", "before_title" => "

    ", "after_title" => "

    ",));

    Valmis, uusi sivupalkki on ilmestynyt widgetin ohjauspaneeliin. Jäljelle jää vain hieman muokata sen ulkoasua style.css-tiedostossa (voit kopioida ulkoasun olemassa olevasta)

    Mikä on mitä koodissa

    Nimi– sivupalkin (sivupalkin) nimi, se näkyy hallintapaneelin Widgetit-kohdassa.
    id- yksilöllinen tunniste. Tarvitaan sivulle lisättäessä.
    ennen_widgetiä- koodi tai teksti, joka lisätään ennen jokaista widgetiä.
    after_widget- koodi tai teksti, joka lisätään jokaisen widgetin jälkeen.
    ennen_otsikkoa– koodi tai teksti, joka lisätään ennen widgetin otsikkoa.
    after_title– widgetin otsikon jälkeen lisättävä koodi tai teksti.

    Kiinnitä huomiota tunnukseen, sivupalkin nimeen, tässä tapauksessa se on "secondary-widget-area". Sen on oltava täsmälleen sama kuin Functions.php-tiedostossa rekisteröinnin yhteydessä määritetty nimi.

    Sivupalkki on sivuston erityinen kenttä, johon widgetit on upotettu. Toisin sanoen se on sarake, jolla on dynaaminen sisältö. Lähes kaikissa malleissa on tällaisia ​​sarakkeita ja niiden lukumäärä voi olla erilainen. Käytetään usein 1-4 sarakkeessa.

    Jotta mistä tahansa mallista tulisi mahdollisimman ainutlaatuinen tai yksinkertaisesti parantaa ulkonäköä tai erottua joukosta, voit muuttaa sarakkeiden sijaintia suhteessa päätekstikenttään WordPressin vakiomalleissa, ilmaisissa ja maksullisissa malleissa, minkä me teemme. tässä artikkelissa.

    Sivupalkin ja leipätekstin sijainnin muuttaminen

    Oletetaan siis, että käyttämässämme mallissa on yksi sarake widgeteille, eli yksi sivupalkki ja yksi pääsarake, johon artikkeleidemme ja sivujemme teksti on sijoitettu:

    Anna widgeteillä varustetun sarakkeen sijaita oikealla, ja meidän on siirrettävä se vasemmalle aivan reunaan. Vastaavasti sarake, jossa on päätekstisisältö, siirtyy oikealle aivan reunaan.

    Tämän kaiken tekemiseksi sinun on muutettava tyylejä hieman. Tekstisisällöllä on usein #content-tyyli, kun taas widget-sisällöllä on usein #sivupalkkityyli. Ainoa mitä tarvitaan, on muuttaa ensimmäisen ominaisuuksia floatista: left; kelluvassa: oikealla; ja toiselle eri järjestyksessä.

    Muuta sivupalkin sijaintia Twenty Twelwe -teemassa

    Harkitse kaikkia yllä olevia WordPressin vakio-responsiivisen teeman esimerkissä.

    Sivupalkki – osa melkein mitä tahansa sivustoa, yleensä sijoitettu sisältöalueen vasemmalle, oikealle puolelle tai alatunnisteen (alatunnisteen) eteen. WordPressin sivupalkit eivät ole poikkeus. Ainoa ero on, että WordPressissä sivupalkki on alue, jossa widgetit näytetään automaattisesti. Voit luoda WordPressiin rajattoman määrän sivupalkkeja, mutta esimerkiksi luon kaksi sivupalkkia pääsisältöalueen vasemmalle ja oikealle puolelle.

    WordPress-sivupalkkien rekisteröinti

    Jotta sivupalkit näkyvät ensin hallintapaneelissa, meidän on rekisteröitävä ne. Toisin sanoen, lisää koodi functions.php-tiedostoon:

    /** * Rekisteröi sivupalkit. */ function fwbs_widgets_init() ( register_sidebar(array("name" => __("Oikea sarake", "fwbs"), "id" => "sidebar-1", "description" => __("Oikea sivupalkki " , "fwbs"), "before_widget" => "

    ", "before_title" => "

    ", "after_title" => "

    ",)); register_sidebar(array("nimi" => __("Vasen sarake", "fwbs"), "id" => "sidebar-2", "description" => __("Vasen sarake sivuston alatunnisteessa ", "fwbs"), "before_widget" => " ", "before_title" => "

    ", "after_title" => "

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

    Jäsentämällä yllä oleva koodi WordPress-sivupalkkien luomiseksi

    Se ei ole niin monimutkaista kuin miltä ensi silmäyksellä näyttää.

    • "nimi" => __("Oikea sarake", "fwbs") - widget-alueen nimi, voit kirjoittaa minkä tahansa nimen, vain varovasti sulujen väliin, katso ruutua, näet missä se näkyy;
    • "id" => "sidebar-1" - ID on sivupalkkiin määritetty yksilöllinen tunniste, kaikilla sivupalkilla on oltava omat tunnisteet, jotka eroavat muista tunnuksista;
    • "description" => __("Oikea sarake", "fwbs") - kuvaus, joka on samanlainen kuin widget-alueen nimi;
    • "ennen_widget" => "
    • "after_widget" => "" - HTML-tunniste, joka sulkee sivupalkin vyöhykkeen. Kuten tiedämme, kaikki HTML-tunnisteet, joitain poikkeuksia lukuun ottamatta, on liitettävä pariksi (avaaminen ja sulkeminen);
    • "before_title" => "

      " - widgetin otsikko kääritään H4-tunnisteeseen luokan kanssa

      , voit muuttaa otsikon H1, H2, H3, H4, H5, H6 merkitystä ja määrittää omat luokat;

    • "after_title" => ""- sulkeutuuparitunniste widgetin otsikkoon.

    Nyt siirrymme hallintapaneeliin "widgetit" -osioon ja katsomme tulosta. Tässä kuva mitä sain:

    Tällä koodilla rekisteröin kaksi WordPress-widget-aluetta, nyt minun on näytettävä ne näytöllä.

    Näytetään WordPressin sivupalkit

    Jos haluat näyttää sivupalkit missä tahansa mallin kohdassa, on loogista kirjoittaa seuraava koodi oikeaan paikkaan:

    Muutama selitys koodista:

    • - PHP-koodi, joka antaa komennon, jos sivupalkissa on widgetejä kohdassa id=sidebar-1, niin se tulee näyttää näytöllä, jos widgetejä ei ole, sivupalkkia ei näytetä;
    • - PHP-koodi, joka kutsuu sivupalkkia kohdassa id=sidebar-1 siinä paikassa, johon kirjoitit sen mallikoodissa.

    Mutta kuten näet, WordPress-malleissa sivupalkin tulostekoodi sijoitetaan erillisiin sidebar.php-tiedostoihin ja sitten sisältö tulostetaan sivupalkin.php-tiedostosta oikeaan paikkaan mallissa. Koska tiedämme, että WordPress renderöi sisältöä dynaamisesti ja sivustopohja koostuu useista osista, yksi sen osista on sidebar.php-tiedosto. Anna minun tehdä se.

    Sivubar.php-tiedoston luominen

    Luo tiedosto, kuten sidebar-right.php, anna sille otsikko ja liitä yllä oleva koodi siihen. Kaikki yhdessä se näyttää tältä:

    Kuten esimerkistä näkyy, täydensin koodia ylimääräisillä HTML-merkinnöillä. Nyt widget-alueen näyttämiseksi sinun on kirjoitettava seuraava oikeaan paikkaan:

    Vasemman puolen sarakkeelle luodaan vastaavasti tiedosto sidebar-left.php ja tulostetaan mallin oikeaan paikkaan seuraavasti:

    Kuten he sanovat, löydä yksi ero koodista.

    Siinä kaikki, sivupalkit on luotu, nyt ei jää muuta kuin luoda niille merkinnät malliin ja kirjoittaa CSS-tyylejä.



    
    Ylös