Support » Lisäosat ja muokkaukset » Widgetin lisäys headeriin?

  • stormrider19

    (@stormrider19)


    Hello world. Minun tarvitsee liittää widget, esimerkiksi ”polylang” navigaation yläpalkkiin. Tiedän sen onnistuvan .php koodaamisella mutta onko mitään muuta konstia tahdä sitä?

Esillä 10 vastausta, 1 - 10 (kaikkiaan 10)
  • Moderator Mikko Saari

    (@msaari)

    Ei, jos navigaation yläpalkissa ei valmiiksi ole koodattu aluetta widgeteille. Jos sinne haluaa vimpaimia, niin sitten kannattaa rakennella sinne sivupalkki, johon vimpaimia voi liittää, niin ei tarvitse koodata kuin kerran.

    Thread Starter stormrider19

    (@stormrider19)

    Moi Mikko,
    suurkiitos nopeasta vastauksesta.

    Hyvää kevään jatkoa!

    Thread Starter stormrider19

    (@stormrider19)

    Palaan vielä tähän samaiseen aiheeseen. Onko sinulla antaa hyviä viheitä tai lähteitä miten noviisi voisi rakentaa alueen?

    tapiohuuhaa

    (@tapiohuuhaa)

    Sikäli minuakin kiinnostaa, että perus sisältöalueelle (koskee myös bbPress-lisäosaa) osaan PHP-koodaamalla lisätä sisältöä.

    Valmiiksi määritelyille widget-alueilla onnistuin ns. shortcode-koodaamisella.

    Mutta miten voisi suoraan koodata jotain sivupalkkiin ja header-osioon samaan tapaan kuin pääsisältöalueelle, kiinnostaa minuakin.

    Ne mitkä olen siirtänyt sivupalkista CSS:llä sivun ylälaitaan, olisi tietenkin mielekkäämpää laittaa suoraan sinne, minne pitäisi.
    Ylimääräinen yläpalkin sisältöalue olisi mielenkiintoinen toteuttaa.

    Moderator Mikko Saari

    (@msaari)

    Ensin pitää määritellä sivupalkki register_sidebar()-funktiolla. Kun se on määritelty, se ilmestyy Vimpaimet-valikkoon ja siihen voi lisätä vimpaimia. Sivupalkki saadaan näkymään sivuilla käyttäen dynamic_sidebar()-funktiota sivupohjassa.

    tapiohuuhaa

    (@tapiohuuhaa)

    Tässä etsittiin yläpalkkia. Kun katsoin käyttämäni teeman header.php-tieostoa, siitä en löytänyt mitään koukkua, johon oman lisäyksen saisi laitettua.

    Mihin ajattelit, että noi sivupalkkifunktiot laitettaisiin?

    Moderator Mikko Saari

    (@msaari)

    register_sidebar() tulee teeman functions.php-tiedostoon (tai omaan pluginiin, jos tekee mieluummin niin), dynamic_sidebar() siihen kohtaan sivupohjaa, mihin se sivupalkki halutaan. Mitään koukkua ei pidä ollakaan, koska dynamic_sidebar() on nimenomaan se koukku jolla sivupalkki tulee – jos sivupalkille olisi paikka valmiina, niin ongelmaa ei ylipäänsä olisi.

    tapiohuuhaa

    (@tapiohuuhaa)

    Kai tuon funktion voi sijoittaa Code Snippet -koodikirjastoonkin? Aliteemojen käyttö on todella kankeaa ja minun mielestäni kannattaa välttää niin pitkälle kuin voi Code Snippet -lisäosan käytöllä.

    Moderator Mikko Saari

    (@msaari)

    Joo, ei sillä ole mitään väliä, missä se register_sidebar() tarkalleen ottaen sijaitsee, kunhan se suoritetaan oikeassa vaiheessa eli riittävän aikaisin. Itse suosin puhtaasti ulkonäköön liittyvissä asioissa teeman functions.php:ta, koska teemassa on kaikki muukin ulkonäköasia, mutta varsinaisessa saitin toiminnallisuudessa mieluummin omaa pluginia.

    tapiohuuhaa

    (@tapiohuuhaa)

    Jos sivupalkin avulla haluaa siirtää jotain sivun head-osioon, on otettava huomioon

    1. Sivupalkilla eikä sen emoelementillä ei saa olla position-määrittelyä fixed,absolute tai relative.
    2. Jos on em. elementeillä on em. position-määrittely, ainoa keino asoimoida haluttuun paikkaan on position:fixed.

    Teemasta ei nyt aina ota selkoa, joten sivupalkille pitää varmuuden vuoksi laittaa position:static!important;, jos haluaa, että sinne sijoitettu koodi päätyy sivun header-osioon. Jos vieläkin menee väärään paikkaan, pitää alkaa tutkia teeman koodia.

    Tuo on nyt tullut opittua kantapään kautta.

Esillä 10 vastausta, 1 - 10 (kaikkiaan 10)
  • The topic ‘Widgetin lisäys headeriin?’ is closed to new replies.