bočný panel wordpress. Postranné panely WordPress, vytváranie bočných panelov WordPress. Predvolené widgety WordPress

Zobrazí prvý aktívny panel miniaplikácií (bočný panel je panel, ktorý obsahuje aspoň jednu miniaplikáciu). Môžete zadať ID alebo číslo panelu, ktorý sa má zobraziť, ak má lokalita viac ako jeden panel miniaplikácií.

dynamic_sidebar() vráti hodnotu true alebo false, pričom výsledok návratu zobrazí aj panel miniaplikácií. Návratovú hodnotu možno použiť napríklad na určenie, či sa má spracovať kód, ktorý nahrádza miniaplikácie, keď na paneli nie sú žiadne miniaplikácie (pozri príklad č. 1).

sa vracia

true, ak bol nájdený panel miniaplikácií. false, ak panel neexistuje alebo neobsahuje žiadne widgety.

Použitie

$index (reťazec/číslo) ID panelu zadané v parametri id funkcie register_sidebar() pri registrácii panelu. Ak zadáte číslo, vyhľadá sa panel s postranným panelom ID-$index.
Predvolená hodnota: 1 (bočný panel-1)

Príklady

#1 Zobrazte bočný panel, ak existuje.

Tento príklad ukazuje, ako zobraziť prvý neprázdny bočný panel (identifikátor bočného panela nebol zadaný počas registrácie) alebo ak sa nenájde, spracovať zadaný kód:

#2 Zobrazte požadovaný bočný panel.

#3 Skontrolujte prítomnosť panela a zobrazte ho

V príklade 2 sme nekontrolovali prítomnosť panela a miniaplikácií v ňom. V tomto príklade skontrolujeme prítomnosť panela, aby sa nezobrazoval zbytočný HTML tagy (

",

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

pred_titulkom

Väčšina miniaplikácií zobrazuje názov, ak ho používateľ zadá. Argumentovať pred_titulkom toto je úvodný prvok názvu miniaplikácie. V predvolenom nastavení to WordPress zapíše ako < h2 > . Ak chcete použiť značky < h2 > nestojí to za to, v tomto prípade stačia značky < h3 > A < h4 > . Pre intuitívnosť a čitateľnosť kódu nerobte názvy tried bez pomlčiek, aby bolo pre vás pohodlnejšie si názov prečítať sami, je veľmi dôležité, ak ste so stránkou nejaký čas nepracovali.

after_title

Argumentovať after_title toto je uzatvárací prvok špecifikovaný v argumente pred_titulkom. V predvolenom nastavení to WordPress zapíše ako < / h2 > .

Musíte sa uistiť, že jeho hodnota zodpovedá hodnote uvedenej v argumente pred_titulkom.

"after_title" => ""

"after_title" => ""

Zobrazenie dynamického bočného panela dynamic_sidebar()

Keď je vytvorenie bočného panela dokončené, môžete ho začať zobrazovať v téme. WordPress na to vytvoril funkciu tzv < a title = "Funkcia Codex Wordpress dynamic_sidebar()" href= "http://codex.wordpress.org/Function_Reference/dynamic_sidebar" target="_blank" > dynamic_sidebar()< / a > . Táto funkcia vždy vyžaduje parameter $index, ktoré môžu byť súčasne umiestnené v argumente id, a v argumentácii názov(zadané pri vytváraní bočného panela). Hoci je technicky možné použiť oboje, oveľa bezpečnejšie je použiť ten, ktorý ste predpísali. id.

Pomocou nižšie uvedeného kódu v jednej zo svojich šablón môžete umiestniť bočný panel primárny popísané vyššie. poznač si to div s trieda A id Môžete meniť podľa vlastného uváženia a skrutkovať rôzne cssštýly .

// zavolá funkciu zobrazenia panela lokality

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

// zavolá funkciu zobrazenia panela lokality

< / div >

Zvyčajne sa tento kód nachádza v súbore bočný panel - primárny . php, o ktorom sa dozviete o chvíľu, keď sa bavíme o šablónach bočného panela. Avšak dynamic_sidebar() možno volať kdekoľvek vo vašej téme.

  • Robíme a

Predvolené zobrazenie obsahu

Niektorí vývojári tém zobrazujú svoj vlastný obsah, ak používateľ nepripol žiadne miniaplikácie na konkrétny bočný panel. Ak chcete skontrolovať miniaplikácie na bočnom paneli, použite podmienenú značku is_active_sidebar() .

Rovnako ako funkcia dynamic_sidebar(), slúži na vyplnenie bočného panela, funkcie is_active_sidebar() vždy požaduje parameter $index, čo by malo byť ID bočný panel, ktorý kontrolujete.

Pomocou nižšie uvedeného kódu môžeme otestovať náš bočný panel primárny pre widgety. Ak existujú widgety, zobrazíme ich, ak nie, zobrazíme obsah, ktorý sme špeciálne pripravili.

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

< / div >

Nezobrazuje sa bočný panel bez miniaplikácií

Predchádzajúca časť vám ukázala, ako umiestniť chýbajúci obsah, keď určitý bočný panel nie je aktívny, ale máte tiež možnosť bočný panel úplne zbaliť (nezobraziť nič), keď bočný panel nie je aktívny.

Opäť použijeme funkciu is_active_sidebar() aby ste skontrolovali bočný panel primárny pre widgety.

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

< / div >

Mimochodom, tu môžete myslieť na zaujímavé veci. Môžete napríklad vytvoriť dynamickú šírku bočného panela pre svoj obsah na základe toho, ktoré bočné panely sú aktívne a ktoré nie. Viac o tom v ďalších článkoch.

Šablóny bočného panela - Bočný panel

Dotkli sme sa všetkých aspektov vytvárania a práce s dynamickým bočným panelom, no treba poznamenať, že sú tu aj ďalšie zaujímavé funkcie. Poďme sa teda pozrieť na šablóny bočného panela.

Šablóna bočného panela sa používa na hosťovanie kódu dynamického bočného panela (pozrite si „Zobrazenie dynamického bočného panela“ vyššie). V priemere majú všetky WordPress témy jednu šablónu s názvom bočný panel. php. Ak má váš motív jeden bočný panel, táto šablóna je dostatočná.

Šablóny bočného panela sa vyplnia vo vnútri témy pomocou funkcie get_sidebar().Kód nižšie je to, čo zvyčajne používam na vyplnenie súboru bočný panel. php.

[ pastelka - 5e1ff7d788042260898923 inline = "true" ]

get_sidebar() tiež vždy žiada o parameter $ meno, ktorá vám umožní vyplniť konkrétnejšie vzory. Napríklad kód nižšie vyžaduje súbor šablóny bočný panel - primárny . php.

[ pastelka - 5e1ff7d788051693571425 inline = "true" ]

Ak chcete zachovať poriadok vo svojej téme a oddeliť kód, musíte pre každý dynamický bočný panel vytvoriť špecifickú šablónu. Navrhujem, aby ste najskôr vytvorili dva dynamické bočné panely s jedinečným id: primárny A sekundárne. Pre lepšiu organizáciu vytvorte dva súbory: bočný panel - primárny . php a bočný panel-sekundárny. php.

Na vytvorenie oboch šablón budete potrebovať kód uvedený nižšie.

[ pastelka - 5e1ff7d788066428860015 inline = "true" ]

Vyššie je tradičný kód, ktorý používam na vytváranie šablón. Môžete ho mierne upraviť, aby čo najlepšie vyhovoval vašim osobným požiadavkám. Stále sa musíte uistiť, že túto funkciu používate get_sidebar() pri vypĺňaní šablóny bočného panela.

Majte na pamäti, že šablóny bočných panelov nie vždy zobrazujú dynamické bočné panely. Technicky môžu obsahovať zakódovaný používateľský obsah schopný odrážať čokoľvek. Pamätajte tiež, že môžete umiestniť dynamický bočný panel do takmer akéhokoľvek súboru vašej šablóny a zobraziť ho na rôznych stránkach lokality.

Zlý kód bočného panela

Existuje množstvo nedostatkov, ktoré sa opakujú z kódu do kódu a ktoré nie sú prijateľné na dobrých stránkach. Nie všetky sú, samozrejme, technicky nesprávne, ale môžu viesť k poruchám alebo sú jednoducho dodatočnou záťažou kódu.

1. problém: Vložil sa chaotický kód funkcie. php

Ak vyvíjate témy, musíte vedieť, že vstavané háčiky WordPress fungujú s háčikmi. Je potrebné ich nielen dobre poznať, je dôležité ich aj používať. Najväčší problém, ktorý som zistil, je, že sa do kódu len dostane funkcie. php. Mali by ste vytvoriť funkciu registrácie bočného panela a potom ju pripojiť k widgets_init. Príklad, ako to urobiť, môžete vidieť vyššie v časti Registrácia a vytvorenie dynamického bočného panela.

Ako vedľajšia poznámka: Mali by ste zabudnúť, že kód môžete jednoducho vysypať funkcie. php. Vždy používajte funkciu háčikov vo WordPress, tým zaistíte, že vaše funkcie budú 100% kompletné.

Problém 2: žiadne registrované ID

Je dôležité pochopiť, že ak ID nie je jasne uvedené, určite to bude mať určité dôsledky. Keď použijete register_sidebar() alebo register_sidebars() bez predpisovania jednotlivca id, WordPress automaticky vytvára indikátory id, spočítajúc počet už vytvorených bočných panelov. A zdá sa, že všetko je úžasné. Ale to je veľká chyba. Veď keď nejaký plugin resp detská téma vytvorí nový bočný panel, bočnému panelu sa pridelí id 1 (ak je prvý v streame), čo spôsobí zmenu id všetkých ostatných bočných panelov. Keď používateľ pristúpi na bočný panel, uvidí, že všetky jeho miniaplikácie sú priradené k inému bočnému panelu.

Widgety sú pripojené k dynamickému bočnému panelu, podľa jeho id. Ak id zmeny sa presúvajú aj widgety. Preto je také dôležité správne predpisovať id pri vytváraní bočného panela. Vyššie v časti „Registrácia a vytvorenie dynamického bočného panela“ môžete vidieť, ako to urobiť správne.

Ďalšia výhoda jasného písania idže presne viete čo id určené na použitie v iných funkciách, ako napr dynamic_sidebar() A is_active_sidebar function_exists() nie je potreba. Ako už bolo spomenuté v tomto článku, dynamické bočné panely existujú od roku 2007. Tento typ kontroly môžete použiť len kvôli spätnej kompatibilite. Väčšina tém však nie je spätne kompatibilná a neodporúčam ju používať od predchádzajúcej verzie.

Jeden z bežných typov kontroly existencie funkcie register_sidebar() uvedené nižšie. Zabudnite na tento typ kontroly a vytvorte si len bočný panel.

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

Toto nie je najlepší spôsob zobrazenia bočného panela v téme. Systém WordPress má funkciu get_sidebar(), s ktorým to jednoducho zvládnete. Vždy ho používajte tak, ako je uvedené v príklade vyššie v časti „Šablóny bočného panela“. Túto funkciu by ste mali použiť, pretože hák

Niekedy sú témy, kde je len 1 bočný panel a používajú sa pre potreby samotnej témy a nemôžete tam umiestniť nové widgety. Možno budete musieť upraviť existujúcu šablónu témy a pridať ďalší bočný panel, povedzme, že téma má jeden naľavo, ale musíte pridať ďalší napravo.

Riešenie tohto problému nie je vôbec ťažké. Stačí vykonať malé zmeny v súboroch témy functions.php a súbore šablóny stránky, kam chcete umiestniť bočný panel. Ako zistiť, ktorý súbor je zodpovedný za zobrazovanie stránok

Najprv musíte zaregistrovať nový bočný panel. To sa vykonáva v súbore functions.php v priečinku šablóny. register_sidebar(array("name" =>"Nový bočný panel", "id" => "oblasť sekundárneho-widgetu", "predtým_widget" => "
  • ", "after_widget" => "
  • ", "before_title" => "

    ", "after_title" => "

    ",));

    Hotovo, v ovládacom paneli miniaplikácií sa objavil nový bočný panel. Zostáva len mierne upraviť jeho vzhľad v súbore style.css (vzhľad si môžete skopírovať z existujúceho)

    Čo je čo v kóde

    názov– názov bočného panela (bočného panela), zobrazí sa v administračnom paneli Widgety.
    id- jedinečný identifikátor. Potrebné pri pridávaní na stránku.
    before_widget- kód alebo text, ktorý sa má vložiť pred každý widget.
    after_widget- kód alebo text, ktorý sa má vložiť za každý widget.
    pred_titulkom– kód alebo text, ktorý sa má vložiť pred názov miniaplikácie.
    after_title– kód alebo text, ktorý sa má vložiť za názov miniaplikácie.

    Venujte pozornosť ID, názvu bočného panela, v tomto prípade je to "sekundárna-oblasť miniaplikácie". Musí sa presne zhodovať s názvom uvedeným pri registrácii v súbore functions.php.

    Bočný panel je špeciálne pole na stránke, kde sú vložené miniaplikácie. Inými slovami, ide o stĺpec s dynamickým obsahom. Takmer všetky šablóny majú takéto stĺpce a ich počet môže byť rôzny. Často sa používa od 1 do 4 stĺpcov.

    Aby bola každá šablóna čo najjedinečnejšia alebo jednoducho vylepšila vzhľad alebo vynikla, môžete zmeniť polohu stĺpcov vzhľadom na hlavné textové pole v štandardných, bezplatných a platených šablónach pre WordPress, čo urobíme my v tomto článku.

    Zmena umiestnenia bočného panela a hlavného textu

    Povedzme teda, že šablóna, ktorú používame, má jeden stĺpec pre widgety, teda jeden bočný panel a jeden hlavný stĺpec, kde je umiestnený text našich článkov a stránok:

    Nech je stĺpec s miniaplikáciami umiestnený vpravo a musíme ho presunúť doľava na úplný okraj. V súlade s tým sa stĺpec s hlavným textovým obsahom posunie doprava na úplný okraj.

    Aby ste to všetko urobili, musíte trochu zmeniť štýly. Textový obsah má často štýl #content, zatiaľ čo obsah miniaplikácií má často štýl #sidebar. Všetko, čo je potrebné, je zmeniť vlastnosti prvého z float: left; na plaváku: vpravo; a v inom poradí pre druhý.

    Zmeňte umiestnenie bočného panela v téme Twenty Twelwe

    Zvážte všetko vyššie na príklade štandardnej responzívnej témy pre WordPress.

    Bočný panel – časť takmer akéhokoľvek webu, zvyčajne umiestnená naľavo, napravo od oblasti obsahu alebo pred pätou (pätou). Bočné panely WordPress nie sú výnimkou. Jediný rozdiel je v tom, že vo WordPresse je bočný panel oblasťou, kde sa automaticky zobrazujú widgety. Vo WordPresse môžete vytvoriť neobmedzený počet bočných panelov, ale napríklad vytvorím dva bočné panely, vľavo a vpravo od oblasti hlavného obsahu.

    Registrácia bočných panelov WordPress

    Aby sa bočné panely zobrazili najskôr v admin paneli, musíme ich zaregistrovať. Inými slovami, pridajte kód do súboru functions.php:

    /** * Registrácia bočných panelov. */ funkcia fwbs_widgets_init() ( register_sidebar(pole("názov" => __("Pravý stĺpec", "fwbs"), "id" => "bočný panel-1", "popis" => __("Pravý bočný panel " , "fwbs"), "before_widget" => "

    ", "before_title" => "

    ", "after_title" => "

    ",)); register_sidebar(array("name" => __("Ľavý stĺpec", "fwbs"), "id" => "sidebar-2", "description" => __("Ľavý stĺpec v päte stránky ", "fwbs"), "before_widget" => " ", "before_title" => "

    ", "after_title" => "

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

    Analýza vyššie uvedeného kódu na vytvorenie bočných panelov WordPress

    Nie je to také zložité, ako sa na prvý pohľad zdá.

    • "name" => __("Pravý stĺpec", "fwbs") - názov oblasti widgetu, môžete napísať ľubovoľný názov, len opatrne medzi zátvorky, pozrite sa na obrazovku, kde vidíte, kde sa zobrazuje;
    • "id" => "sidebar-1" - ID je jedinečný identifikátor pridelený bočnému panelu, všetky bočné panely musia mať svoje vlastné, odlišné od ostatných ID;
    • "popis" => __("Stĺpec na pravej strane", "fwbs") - popis, podobný názvu zóny widgetov;
    • "before_widget" => "
    • "after_widget" => "" - značka HTML, ktorá zatvára zónu bočného panela. Ako vieme, všetky značky HTML, s niektorými výnimkami, musia byť spárované (otváranie a zatváranie);
    • "before_title" => "

      " - názov miniaplikácie bude zabalený do značky H4 s triedou

      , môžete zmeniť význam hlavičky H1, H2, H3, H4, H5, H6 a priradiť si vlastné triedy;

    • "after_title" => "“- zatváraniepárová značka pre názov miniaplikácie.

    Teraz prejdeme na panel správcu, do sekcie "widgety" a pozrieme sa na výsledok. Tu je obrázok toho, čo som dostal:

    S týmto kódom som zaregistroval dve zóny widgetov WordPress, teraz ich potrebujem zobraziť na obrazovke.

    Zobrazenie bočných panelov WordPress

    Ak chcete zobraziť bočné panely kdekoľvek v šablóne, je logické napísať nasledujúci kód na správne miesto:

    Niekoľko vysvetlení ku kódu:

    • - PHP kód, ktorý dáva príkaz, ak sú na bočnom paneli pod id=sidebar-1 widgety, potom by sa mal zobraziť na obrazovke, ak nie sú žiadne widgety, bočný panel sa nezobrazuje;
    • - PHP kód, ktorý volá postranný panel pod id=sidebar-1 na mieste, kde ste ho napísali v kóde šablóny.

    Ale ako môžete vidieť, v šablónach WordPress je výstupný kód bočného panela umiestnený v samostatných súboroch sidebar.php a potom sa obsah vypíše zo súboru sidebar.php na správne miesto v šablóne. Keďže vieme, že WordPress vykresľuje obsah dynamicky a šablóna stránky sa skladá z niekoľkých častí, jednou z jej častí je súbor sidebar.php Let me do that.

    Vytvorenie súboru sidebar.php

    Vytvorte súbor ako sidebar-right.php , pomenujte ho a vložte doň vyššie uvedený kód. Všetko spolu to bude vyzerať takto:

    Ako môžete vidieť z príkladu, kód som doplnil o ďalšie značky HTML. Teraz, aby sa zobrazila oblasť miniaplikácií, zostáva na správnom mieste napísať nasledovné:

    Pre stĺpec na ľavej strane sa zodpovedajúcim spôsobom vytvorí súbor sidebar-left.php a zobrazí sa na správnom mieste šablóny takto:

    Ako sa hovorí, nájdite jeden rozdiel v kóde.

    To je všetko, bočné panely sú vytvorené, teraz už zostáva len vytvoriť pre ne značky v šablóne a napísať štýly CSS.



    
    Hore