✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

WordPress-teeman opetusohjelma aloittelijoille – Osa 10: Lisää malleja

8

Tällä WordPress-teeman opetusohjelman aloittelijoille oppitunnilla sukeltaamme enemmän malleihin. Opimme mallin osista ja toteutamme ne uudelleenkäytettävyyttä varten. Ja lisäämme teemaamme lisää WordPressin oletusmalleja.

Mutta ennen kuin alamme lisätä mallitiedostoja, meidän on tiedettävä, miksi meidän pitäisi vaivautua mallin osien kanssa .

Mallin osat: Joustavampia rakennuspalikoita

Mallin osat toimivat täsmälleen kuten get_header()ja get_footer()joista opimme osassa 2, mutta eivät rajoitu näihin tiedostoihin. Voit käyttää malliosia mille tahansa tiedostolle!

Teemat käyttävät yleensä malliosaa silmukassa oleville viesteille. Yleensä monet mallit, kuten kategoria, arkisto ja hakutulokset, näyttävät yleensä jokaisen viestin silmukassa samalla tavalla. Siksi on erittäin hyvä idea erottaa post-silmukan tulos yhdeksi tiedostoksi. Näin sinun ei tarvitse toistaa sitä jokaisessa mallissa.

"Muunnetaan" osa olemassa olevasta koodistamme malliosiksi ennen kuin alamme tehdä lisää malleja!

Postisilmukan malliosan luominen

Luo uusi tyhjä tiedosto teemakansioomme; kutsutaan content-loop.php. Voit nimetä mallin osia miten haluat. Mutta et voi nimetä niitä samalla tavalla kuin mitään WordPressin määrittämiä malleja. Etsi artikkelistamme kaikki, mitä index.phpsinulla on silmukan sisällä, leikkaa se irti ja liitä se sisään content-loop.php.

Käytä nyt tyhjän silmukan sisällä index.phpfunktiokutsua get_template_part()ja määritä malliosatiedostosi parametriksi (ilman tunnistetta .php). Tältä sen pitäisi näyttää molemmissa tiedostoissa:

... while (have_posts()): the_post(); get_template_part('content-loop'); endwhile; the_posts_pagination(); ...

Jos päivität etusivusi, sinun ei pitäisi nähdä mitään eroa.

Loistava! Nyt kun mallimme index.phpon mukava ja puhdas, voimme käyttää sitä pohjana kopioidaksemme uusia malleja. Alla käyn läpi luokkamallin ja hakutulosmallin lisäämisen, mutta kehotan sinua luomaan lisää malleja, jotta voit paremmin hallita teemasi suunnittelua.

Luokkamallin lisääminen

Jos palaat WordPressin mallihierarkiaan, voit nähdä, että WordPress etsii viestiluokista mallia nimeltä category.php. Luomme sen ensin.

Tee teemakansiossasi kopio index.phptiedostosta ja nimeä kopio uudelleen category.php.

Ja.. siinä se. Olet periaatteessa valmis…!

Lisäämme kuitenkin yhden yksityiskohdan; haluamme näyttää otsikon, joka kertoo, että olemme luokkasivulla X-kategorian viestien luokkasivulla. WordPressissä on tätä varten toiminto, jota voit käyttää kaikissa arkistomalleissa (luokka, tagit, päivämäärä-arkistot), the_archive_title. Lisätään se ennen silmukkaa <h1>tagin sisään.

Jos tarkastelet viestiluokkasivua, sinun pitäisi nähdä jotain tämän kaltaista, ja arkiston otsikko on "Category:". PS: Jos haluat muuttaa arkiston otsikon tulostetta (esimerkiksi "Category:" ei näy), voit lisätä suodattimen kohtaan get_the_archive_title. Dokumentaatiosivulla on loistava esimerkki siitä, miten se tehdään.

WordPress-teeman opetusohjelma aloittelijoille – Osa 10: Lisää malleja

No se oli helppoa! Käsitellään seuraavaksi hakutulosmallia.

Hakutulosmallin lisääminen

Menettely on täsmälleen sama kuin teimme luokkamalleille. Tee tällä kertaa kopio category.phpja nimeä kopio uudelleen muotoon search.php.

Meidän tarvitsee vain korjata otsikko. Arkiston otsikkotoiminto, jota käytimme kategoriamallissa, ei valitettavasti toimi kovin hyvin hakutulosmallissa. Itse asiassa WordPressissä ei ole yksinkertaista toimintoa, joka tuottaa meille otsikon.

Mutta voimme helposti tehdä sellaisen itse, ja samalla näytän, kuinka dynaaminen muuttuja voidaan tulostaa ja silti pitää teksti käännettävänä.

PHP:ssä on kaksi hyödyllistä toimintoa printf()ja sprintf(). He tekevät samoin, paitsi että printfse tulostaa sen (kuten kaiku) ja sprintfpalauttaa sen, jotta voimme tallentaa sen muuttujaan. Kun teksti on asetettu ensimmäisiksi parametreiksi, voimme lisätä argumenteiksi dynaamisia muuttujia, jotka sitten lisätään tekstiin. Niiden sisällä voimme käyttää käännettävän tekstin funktioita __()ja _e(). Suosittelen, että luet hieman printf :n tai sprintf :n toiminnasta, koska en mene tässä enempää yksityiskohtiin.

WordPress tarjoaa yksinkertaisen toiminnon haetun merkkijonon saamiseksi; get_search_query(). Tämän jälkeen korvataan arkiston otsikkotoiminto tällä;

Yllä oleva koodi tekee sisältä ulospäin; määritellään käännettävä teksti "Haku: %s", joka laitetaan a:n sisään, printfjoka toistaa merkkijonoa ja korvaa merkkijonovakion (%s) toisella argumentilla; joka on get_search_query().

Tämän seurauksena saamme seuraavanlaisen otsikon haettaessa "er":

WordPress-teeman opetusohjelma aloittelijoille – Osa 10: Lisää malleja

Kiva! Toinen malli tehty. Mitä tulee tämän oppitunnin viimeiseen osaan, siirrymme yksittäisviestimalliimme ja lisäämme jotain hyvin yleistä WordPressissä; kommenttimalli.

Kommenttimallin lisääminen yhteen viestiin

Viestiartikkelissamme single.phphaluamme näyttää kommentteja. Kommenttien tulee tuottaa luettelo aiemmista kommenteista ja lomake uuden kommentin lisäämistä varten.

Kommenttimalli on mallitiedosto, jonka voit lisätä teemaasi, mutta WordPressillä on itse asiassa oma oletuskommenttimallitulosteensa. Jos sinulla ei ole comments.phpteemaa, kommenttimallin pyytäminen palauttaa WordPressin oletustulosteen sille. Näin teemme tässä opetusohjelmassa.

Haluamme kutsua kommenttimallia vain, jos viestissä on aktivoituja kommentteja (se on kunkin viestin asetus ja yleinen sivustoasetus). Joten lisäämme if-tarkistuksen tarkistaaksemme, ovatko kommentit sallittuja, comments_open()ja jos se palauttaa tosi, pyydämme kommenttimallia comments_template(). Muista, että kaiken tämän on tapahduttava silmukan sisällä. Lisäsin sen lopun jälkeen </article>, juuri ennen silmukan sulkemista.

Jos vierailet yksittäisessä viestissä, joka on sallinut kommentit (lisäsin kommentin vain näyttääkseni sinulle myös kommenttiluettelon); saat tämän kauniin (ahem) oletuskommenttimallin:

WordPress-teeman opetusohjelma aloittelijoille – Osa 10: Lisää malleja

Nyt voit (ja sitä usein suositellaan) luoda omasi comments.phpteemaasi, joka ohittaa WordPressin oletustulosteen. En kuitenkaan luo tässä opetusohjelmassa kommenttimallia, koska WordPressin oletustulostus toimii hienosti, kunhan muotoilet sen oikein. Jos tarkastelet HTML-koodia, käytettävissä on runsaasti kääreitä ja luokkia.

Dokumentaatio käytetyistä menetelmistä

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja