✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WordPressi teemaõpetus algajatele – 11. osa: kohandatud lehemallid

5

Selles algajatele mõeldud WordPressi teemaõpetuse õppetükis õpime tundma lehemalle, mis need on, kuidas neid luua ja parimaid tavasid. Näitena teeme täislaiusega malli. Samal ajal lisame kehasse ka klassi, küsides, kas leht kasutab konkreetset lehemalli.

Mis on lehemallid

Lehekülje mallid on kasulikud juhtudel, kui soovite konkreetse lehe jaoks teistsugust paigutust või seadistust. Levinud näited lehemallide kasutamisest on postituste loetlemine kohandatud postitustüübis (nt portfell, raamatud või teenused), täiesti erineva sisu või paigutusega (nt veergude sees) või isegi lihtsalt lehe täislaiuseks tegemine (ilma külgribata).

Lehemallide kasutatavus on pärast WordPressi versiooni 5.x (Gutenberg) vähenenud. Uus Gutenbergi redaktor võimaldab selliste lehtede koostamiseks suurt paindlikkust ilma lehemalle kasutamata. Sellest hoolimata õpime, kuidas lisada oma teemasse kohandatud lehemalli.

WordPressi teemaõpetus algajatele – 11. osa: kohandatud lehemallid

Lehekülgede metakastis „Lehe atribuudid” kuvatakse lehemalli valik. Malli valik ilmub aga ainult siis, kui aktiivsel teemal on vähemalt üks lehe mall.

Lehe malle saab tegelikult kasutada ka postituste ja kohandatud postitustüüpide jaoks. Pärast WordPressi versiooni 4.7 ja uuemat versiooni saate määrata, millistele postitustüüpidele soovite malli kättesaadavaks teha. WordPress lisab nendele postitustüüpidele automaatselt vajaliku metakasti „Lehe atribuudid".

Lehekülje malli nimetamine ja paigutus

Alustuseks teete tavaliselt koopia mis tahes mallifailist, mis on kõige lähemal sellele, mida soovite lehemalliga saavutada. Enamikul juhtudel on see page.php. Mis puutub teie lehemalli nimetamisse, siis see on teie enda otsustada. Kuid on mõned reeglid ja kaine mõistus.

On ahvatlev anda oma lehe mallile lihtsalt nimi, nt page-books.phpmalli jaoks, mis sisaldab kohandatud postituse tüüpi raamatuid. Ärge kunagi lisage oma lehe malli eesliidet " page-"! Kui mäletate WordPressi mallide hierarhiast, otsib WordPress page-<slug>.phpenne proovimist page.phpja teie teema kasutajad võivad kogeda ootamatut käitumist.

Hea tava on lisada lehemalli ette midagi, mis ei kuulu WordPressi lehemallide nimede hulka. Näiteks " pagetemplate-', " pt-" või lihtsalt täisnimi " fullwidth-template.php". Samuti on hea tava hoida neid alamkaustas; /page-templates/see pole aga hea, kui soovite, et teie teema oleks saadaval, et seda saaks laiendada ka lapseteemaga. Alamteema ei saa alistada lehemalle, mis on paigutatud ülemteema alamkausta.

Kui olete nimetamismustri otsustanud, looge lehe mall.

Lehe malli loomine

Tehke koopia page.phpja nimetage see ümber pagetemplate-fullwidth.php. Selle lehemalliks muutmiseks peate lihtsalt alguses lisama kommentaari, mis ütleb WordPressile, et see on lehe mall:

Kõik, mida vajate, on kommentaar faili alguses koos "Malli nimi: " ja teie malli nimega pärast seda. See on kõik! Minge administraatorisse, muutke lehte ja peaksite nägema võimalust valida malliks "Täislaius".

Mainisin, et WordPress 4.7-s saate määratleda, milliste postituste tüüpide jaoks soovite lehemalli saadaval olla. Praegu on see saadaval ainult lehtede jaoks, kuid väidate, et soovite postitusi teha ka täislaiusena? Sel juhul lisage samasse kommentaariplokki "Malli postituse tüüp:" ja määrake oma postituse tüübid, eraldades need komaga. Näiteks selleks, et see oleks kättesaadav nii postituste kui ka lehtede jaoks;

Redigeerige postitust ja peaksite nägema uut metakasti "Postituse atribuudid", kus saate valida täislaiuse malli. Tore!

Koodi muutmine meie lehe mallis

Nüüd redigeerime lehe malli nii, et see teeks tegelikult midagi muud kui ühe lehe vaade. Eemaldame külgriba malli taotluse: (kommenteerisin selle nähtavamaks muutmiseks, kuid saate rea lihtsalt kustutada).

Teeme veel ühe asja, et muuta meie lehe malli lihtsamini stiilitavaks. CSS-i lisamisel peate sageli teadma, kas lehel on külgriba või mitte, et kohandada veerge/paigutust. Pea meeles body_class, mis pakub kehaelemendile terve hulga kasulikke tunde? Mis siis, kui lisaksime kehale kohandatud klassi, mis ütleb meile, kas praegusel lehel on külgriba või mitte?

Filter sissebody_class

Märkus. Võib-olla olete märganud, et iga lehemalli kasutav leht või postitus saab juba kindla kehaklassi; “page-template-” – meie näites "page-template-pagetemplate-fullwidth". See on üsna pikk klass ja pealegi tahame muuta oma teema paindlikumaks – ja võimaldada täislaiust ka muudel mallidel peale lehemalli kasutavate mallide. Näiteks tavaliselt ei taha te esilehel külgriba, eks?

Märkus. See lisab kehale ainult klassi, nii et stiil muutub lihtsamaks, kuid tegelikult ei keela külgriba väljundit. Peate meeles pidama, et kustutate selle sealt, get_sidebar()kus te seda ei soovi.

Lisame filtri body_classkohandatud külgriba klassi lisamiseks meie functions.php, et saaksite seda hiljem lisada muudel juhtudel, kui te külgriba ei soovi. WordPressil on kena tingimusmärgend, et kontrollida, kas lehemall on kasutusel; is_page_template()kuhu paned parameetriks oma lehemalli nime. Kui see ei vasta tõele, tahame lisada klassi, seega lisame tagurpidi tähega “!”:

add_filter('body_class', 'wptutorial_body_class_filter'); function wptutorial_body_class_filter($classes) { if (!is_page_template('pagetemplate-fullwidth.php')) { $classes[] = 'has-sidebar'; } return $classes; }

Tõenäoliselt puutute mallide väljatöötamise ajal aeg-ajalt kokku mallidega, millele te ei soovi külgriba klassi lisada, ja lisage need juhtumid sellesse if. Näiteks kui te ei soovi külgriba klassi esilehel, saate lisada !is_front_page(). See lisab klassi "has-sidebar" kõigile lehtedele, välja arvatud esileht ja lehe mall:

if (!is_front_page() && !is_page_template('pagetemplate-fullwidth.php'))

Teie otsustada on, kui palju lehemalle soovite ja mida need peaksid sisaldama. See oli lihtsalt lihtne sissejuhatus. Kui olete huvitatud sellest, kuidas lehemallide sees muude postituste kohta päringuid teha, vaadake järgmist sammu.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem