lisäämällä mukautetun Widget tahansa sivu, viesti tai malli WordPress

Widgets tehdä WordPress todella joustava. Lisäämällä widget alueet teemoja, voit antaa käyttäjien lisätä oman mukautetun sisällön tarvitsematta kirjoittaa rivin koodia.

ne ovat yleisimpiä sidebareissa ja alatunnisteissa, joissa niitä käytetään usein pitämään widgettejä, kuten hakuelementtiä, uusimpia viestejä, tai ehkä mukautettua valikkoa. Mutta jos lisäät ne sivulle ja lähettää malleja teet niistä vieläkin tehokkaampia.

voit lisätä widget-alueita mihin tahansa mallitiedostoon. Haluan lisätä paljon niitä minun teemoja, paikoissa, kuten otsikko, ennen ja jälkeen pää navigointi, ja ennen ja jälkeen sisältöä. Voit joko lisätä ne mallinosaan (kuten otsikkoon), jota sivustosi jokainen sivu käyttää, tai voit olla tarkempi ja lisätä ne vain tietyn sisältötyypin mallitiedostoihin.

tässä viestissä aion näyttää, miten juuri se tehdään. Luon lapsi teema oletuksena Twenty Seventeen teema ja sitten sisällä että lapsi teema, luon uusia mallitiedostoja: mukautetun sivun mallitiedosto, Luokka arkistotiedosto ja yhden post mallitiedosto.

jokaiseen näistä aion lisätä kyseisen sisältötyypin widget-alueen, joten käyttäjät näkevät sen vain, kun he katselevat sivua käyttäen sivupohjaa, Luokka-arkistoa tai yhtä viestiä.

So let ’ s get started!

Huom.: Olen lisännyt tämän viestin koodin GitHubiin, jotta voit tarkistaa sen, jos työskentelet tämän opetusohjelman kanssa.

Lapsiteeman perustaminen

aion käyttää twenty seventeen-teeman lasta: jos työstät omaa teemaasi, voit muokata sitä suoraan lapsiteeman luomisen sijaan. Mutta jos käytät kolmannen osapuolen teema, sinun täytyy luoda lapsi teema. Tämä johtuu siitä, että kun päivität teeman, kaikki siihen tehdyt muutokset menetetään.

luo siis wp-content / themes-kansioosi uusi kansio, jossa on teemasi nimi. Kutsun omiani wpmu-template-widgeteiksi. Sen sisällä Lisää tyyli.CSS-tiedosto ja lisää siihen tämä:

muista, että jos työstät omaa teemaasi, voit ohittaa tämän vaiheen. Ja jos käytät eri vanhempi teema, sinun täytyy muokata tyylisivua vastaamaan, että. Jos et ole varma, tutustu viestiimme lasten teemojen luomisesta.

Widget-alueiden rekisteröinti

ennen kuin voimme lisätä widget-alueet mallitiedostoihimme, meidän on rekisteröitävä ne teeman funktiotiedostoon. Avaa functions-tiedosto, jos teemallasi on jo yksi, tai jos se on uusi lapsiteema, Luo tiedosto nimeltä functions.php.

aloitetaan lisäämällä tyhjä funktio, joka rekisteröi widgetit, ja koukkaamalla se widgets_init koukkuun. Lisää tämä funktiotiedostoon:

kyseisen funktion sisällä aiomme rekisteröidä neljä widget-aluetta: yksi kunkin yksittäisen viestin ja luokan arkistomalleja, ja kaksi mukautetun sivun malli.

Aloita rekisteröimällä ensimmäinen widget:

tämä käyttää register_sidebar() funktiota, jossa on joukko parametreja seuraavasti:

  • widgetin Alueen nimi, joka näkyy widgetien ylläpitonäytössä ja muokkaimessa. Olen tehnyt tämän käännettäväksi.
  • widget-alueen yksilöllinen tunnus.
  • Markup for before the widget, joka käyttää paikkamerkkejä kansainvälistymiseen.
  • merkitse vekottimen jälkeen.
  • Markup ennen ja jälkeen widget otsikko, joka on suljettu h3 Elementti.

joten se on ensimmäinen. Nyt, vielä funktiosi sisällä, lisää kolme muuta:

niin meillä on nyt neljä widgetiä:

  • yksi yhden viestin sisällön jälkeen.
  • one before the content on a category archive.
  • yksi ennen ja yksi jälkeen sisällön meidän laajakaistainen sivu malli.

jos haluat siirtää widget-alueita (esim.laittaa Luokka arkisto yksi sisällön jälkeen tai single post yksi ennen sisältöä), sinun pitäisi nimetä ne asianmukaisesti. Tämä on niin, että tiedät, mitä tapahtuu, kun tulet muokata koodia tulevaisuudessa, ja käyttäjät tietävät, missä widget alueet on lähtö, kun he lisäävät widgetit niitä kautta widgetit admin-näytön. Muista, että jos et muuta tätä, sinun täytyy sijoittaa koodi tulostaa widgetit oikeaan paikkaan mallitiedostot seuraavassa vaiheessa, joka voi olla erilainen kuin missä laitan omani.

nyt Jos avaat widgetien admin-sivun, näet widget-alueet, valmiina widgettejä varten:

Ensirekisteröidyt widget alueet widgetit admin screen
Ensirekisteröidyt widget alueet widgetit admin screen.

mutta jos lisäät widgetit uuteen widget alueet, ne eivät näy sivustosi etupäässä. Ne on vielä koodattava mallitiedostoihin.

Widget-alueiden lisääminen Mallitiedostoihin

nyt lisätään koodi, jolla tulostetaan widget-alueet. Jos työskentelet omalla teemalla, sinun on ehkä vain muokattava olemassa olevia teemapohjatiedostojasi. Jos työskentelet lapsi teema (tai teema ei ole jo asiaankuuluvat mallitiedostot), sinun täytyy luoda uusia tiedostoja.

aloitetaan laajakaistaisesta sivupohjatiedostosta, sillä teemalla ei ole sitä kummallakaan tavalla.

Luo teema-kansioosi uusi tiedosto. Soitan sivuilleni.php. Avaa tiedosto ja lisää Tämä siihen:

tämä kertoo WordPressille, että se on mukautettu sivumalli. Jos haluat tietää niistä enemmän, tutustu yksityiskohtaiseen oppaaseen.

Huomautus:Älä käytä tiedostonimenä sivunimeä. Tämä johtuu siitä, että sivu-on varattu pääte WordPress. Käytä alaviiva sijaan viiva, tai vain välttää sivun alussa kokonaan, jos haluat.

nyt alla kommentoinut teksti, kopioi kaikki teemasi (tai vanhemman teeman) sivulta.php-tiedosto. Vaihtoehtona on tehdä kopio tiedostosta ja lisätä kommentoitu teksti, se on sinusta kiinni.

voit nyt valita tämän mallin muokatessasi sivua sivustossasi:

page template selector in the page editing screen
the page template selector on the WordPress page editing screen.

valitse se yhdelle sivuistasi, jotta voit kokeilla widgettejä. Tässä on sivuni.:

 sivu, jossa ei ole widgettejä, näyttää vielä
sivu, jossa ei ole vielä widgettejä.

se ei näytä kovin jännittävä juuri nyt, koska en ole lisännyt widget alueet malliin tiedosto. Tehdään niin.

lisää mallitiedostoosi tämä koodi välittömästi sivun sisällön yläpuolelle, sillä sisällöllinen widget-alue:

tämä tarkistaa, onko widget-alue asuttu, käyttäen yksilöllistä ID: tä, jonka loit widget-alueelle, kun rekisteröit sen funktiotiedostoosi. Jos se on asuttu, se tuottaa sisällön widget alue.

lisää nyt widget-alue sisällön alle. Sisällön jälkeen (ja minkä tahansa elementin sisällä), Lisää tämä:

Tallenna sivun mallitiedosto.

tässä sivuni mallitiedoston koko koodi, joten näet missä widget-alueet ennen ja jälkeen silmukan:

nyt testata sitä. Olen lisännyt widget jokaiseen uuden widget alueet:

widgetit admin näytöt widget lisätty kaksi uutta widget alueet
widgetit admin näytöt widget lisätty kaksi uutta widget alueet.

ja tältä he näyttävät sivullani:

sivu, jossa on widgettejä ennen ja jälkeen sisällön
sivu, jossa on widgettejä ennen sisältöä ja sen jälkeen.

joten se on mukautetun sivun malli perustettu. Nyt sinun täytyy muokata kaksi muuta sivun malli tiedostoja (tai luoda niitä tarvittaessa). Noudata näitä ohjeita:

  • jos käsittelet lapsiteemaa, Luo tiedosto nimeltä Luokka.php. Kopioi luokan sisältö.php tiedosto vanhempi teema (jos se on yksi) tai arkisto.php-tiedosto (tai indeksi.php jos se ei ole, että).
  • jos et työskentele lapsiteeman kanssa, mutta teemallasi ei ole kategoriaa.php tiedosto, tehdä yksi kopioimalla arkisto.php tiedosto (tai jos sinulla ei ole yksi niistä, indeksi.php-tiedosto).
  • Lisää widget-alue Oman kategoriasi arkistotiedoston sisällön yläpuolelle-jälleen, juuri ennen silmukkaa.

tässä on widget-alueen koodi:

toista tämä nyt yhdelle mallille:

  • luo yksi viesti.php-tiedosto, Jos teema ei ole yksi (tai käytät lapsi teema). Kopioi sisältö vanhemman teeman single-post.php tiedosto siihen, tai seuraavasta mallitiedosto ylös malline hierarkiassa (single.PHP, yksikkö.php tai index.php).
  • lisää jälleen widget-alue-tällä kertaa sisällön jälkeen.

tässä koodi:

nyt jos lisäät vekottimia, ne näkyvät sivustollasi. Here ’ s mine näyttää luettelon viimeaikaisista viroista yhden postauksen jälkeen:

widget alue jälkeen yhden post

lisäämällä Widget alueet malleja antaa sinulle joustavuutta

Widget alueet mahdollistavat oman teeman käyttäjät lisätä lisäsisältöä ilman kirjoittaa koodia. Mutta ne eivät ole vain sivubaaria varten. Lisäämällä ylimääräisiä widget alueet malliin tiedostoja antaa sinulle kohdennettuja alueita sivustossasi, että voit lisätä widgetit, hienolla valvoa, missä ne näkyvät.

voit ottaa nämä esimerkit edelleen, jos haluat, lisäämällä widget alueet kaikkiin tiedostoihin, tai jopa käyttämällä eri versioita sivupalkista.php-tiedosto eri sisältötyypeille. Maailma on osterisi!

Vastaa

Sähköpostiosoitettasi ei julkaista.