Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🧩 WordPressi alamteema: täielik juhend loomiseks ja kohandamiseks

🧩 WordPressi alamteema: täielik juhend loomiseks ja kohandamiseks

Paigaldasid teema, lihvisid saiti, seadistasid värve ja fonte, lisasid paar kohandatud malli. Siis saabub teemavärskendus ja pühib kõik minema. Kõlab tuttavalt?

Alamteema WordPressis on mehhanism, mis eraldab sinu kohandused arendaja koodist. Muudad, mida tahad, ja peateema uuendub tagajärgedeta. See kõlab nagu maagia, kuid selle taga on vaid üks rida failis style.css.

Selles juhendis, ideest töötava alamteemani: miks seda vaja on, kuidas seda käsitsi luua, kuidas laadida stiile ja faili functions.php ning mida teha, kui midagi läheb valesti. Ilma ülearuse jututa, koos testitud koodinäidetega.

💡 Kiirülevaade:

  • Loo alamteema kaust kataloogi /wp-content/themes/, sobib iga nimi, näiteks mytheme-child
  • Lisa style.css koos teemapäise ja reaga Template:, mis osutab peateema kaustale
  • Lae peateema stiilid faili functions.php kaudu, kasutades funktsiooni wp_enqueue_style() konksul wp_enqueue_scripts
  • Kopeeri ükskõik milline mallifail peateemast alamteemasse ja muuda seda uuendusi kartmata
  • Kõike muud (functions.php, kohandatud välju, uusi malle) saab laiendada peateemat puudutamata

Mis on WordPressi alamteema

Alamteema on WordPressi teema, mis pärib kogu funktsionaalsuse, stiilid ja mallid teiselt teemalt. Seda, millelt päritakse, nimetatakse peateemaks. Alamteema ise võib koosneda vaid ühest style.css failist ja siiski täielikult töötada.

WordPressi teema kood monitori ekraanil

Pärimismehhanism on lihtne. Kui WordPress laeb lehte, otsib ta esmalt vajalikku mallifaili alamteemast. Kui see leitakse, kasutab ta seda faili. Kui ei leita, võtab ta faili peateemast. Seetõttu saad alistada ainult seda, mida soovid muuta, ja kõik muu tuleb automaatselt peateemast.

Võtmeelement, milleta alamteema ei saa eksisteerida, on rida Template: faili style.css päises. See osutab peateema kausta nimele (näiteks twentytwentyfour) ja loob vanema-lapse suhte. Rida peab täpselt ühtima peateema kausta nimega, sealhulgas tõstutundlikkus.

Peateema võib olla ÜKSKÕIK milline paigaldatud WordPressi teema, alates vaikimisi Twenty Twenty-Five'ist kuni kommertsteemani nagu Total või Kadence. Alamteema „laenab" selle faile ja funktsioone, kuid ei kopeeri neid füüsiliselt.

Miks on alamteemat vaja: 4 põhjust

Võid selle kõik vahele jätta ja muuta peateemat otse. Paljud teevad nii. Kuid siin on, mis edasi juhtub.

Turvalised uuendused

Peateema arendaja annab välja uuenduse ja sina paigaldad selle. Kui muutsid peateema faile otse, pühitakse kõik muudatused minema. Alamteema hoiab sinu kohandusi eraldi: peateema uuendamine ei puuduta neid. Saad nii teema värske versiooni (koos turvaparandustega) kui ka säilinud kohandused.

Isoleeritud katsetamine

Tahad proovida uut mallistruktuuri või ebatavalist CSS-i nippi? Alamteemas saad vabalt katsetada. Kui midagi läheb valesti, deaktiveeri alamteema ja sait naaseb peateema juurde algses olekus.

Puhas koodibaas

Alamteema sisaldab ainult sinu muudatusi. Paar malli, functions.php konksudega, style.css alistustega. Ei mingit segu algsest koodist ja sinu muudatustest. Kui pead pool aastat hiljem midagi parandama, ei tuhni sa kellegi teise koodis oma muudatusi otsides.

Kiire arenduse algus

Alamteema on ideaalne liivakast WordPressi teemaarenduse õppimiseks. Sa ei kirjuta teemat nullist (see võtaks sadu tunde), vaid teed sihipäraseid muudatusi juba töötavale teemale. Ametlik WordPressi alamteemade dokumentatsioon soovitab just seda lähenemist algajatele arendajatele.

Millised on alamteemade puudused

Ka puudusi on. Need ei ole kriitilised, kuid nende eelnev teadmine aitab.

Vajalikud algteadmised kodeerimisest

Alamteema seadistamine hõlmab HTML-i, CSS-i ja natuke PHP-d. Kui sa pole kunagi koodiredaktorit avanud, pead õppima põhitõed. Hea uudis: tüüpiliste ülesannete jaoks (stiilide laadimine, konksu lisamine) on kood juba kirjutatud; sa lihtsalt kopeerid selle ja asendad oma väärtustega.

Kohandaja seadete migreerimine

Mõned teemad seovad kohandaja seaded (värvid, fondid, paigutus) aktiivse teema nimega. Alamteemale üleminekul need seaded „kaovad". Need ei ole kadunud; need jäävad andmebaasi, seotuna peateema nimega. Lahendus: enne alamteema aktiveerimist ekspordi kohandaja seaded (paljud teemad, näiteks Total, pakuvad sisseehitatud import/eksport tööriista) või kanna need pärast aktiveerimist käsitsi üle.

Sõltuvus peateemast

Alamteema ilma oma peateemata on lihtsalt failidega kaust. Kui otsustad teemat täielikult vahetada, pead looma uue alamteema nullist. Alamteema functions.php faili manustatud funktsioonid võivad olla seotud konksudega, mis on omased konkreetsele peateemale, ja vajavad samuti kohandamist.

Kuidas luua alamteema käsitsi

Kõige otsesem tee, ilma pluginateta, kasutades ainult oma käsi. Vajad juurdepääsu oma saidi failidele (FTP, majutusteenuse failihaldur või cPanel) ja tekstiredaktorit.

Samm 1. Loo alamteema kaust

Ava WordPressi teemade kataloog: /wp-content/themes/. Loo uus kaust. Sobib iga nimi, kuid tavaks on lisada peateema nimele järelliide -child: näiteks twentytwentyfive jaoks oleks alamkaust twentytwentyfive-child.

Failidega töötamiseks FTP kaudu sobib hästi FileZilla. Majutuse kaudu kasuta sisseehitatud failihaldurit cPanelis või oma majutuspaneelis.

Samm 2. Loo style.css koos teemapäisega

Loo alamteema kausta fail nimega style.css. See on ainus nõutav fail. Kleebi sisse teemapäis:

1/*
2Theme Name: Twenty Twenty-Five Child
3Theme URI: https://example.com/
4Description: Child theme for Twenty Twenty-Five
5Author: Your Name
6Template: twentytwentyfive
7Version: 1.0.0
8*/

Rida Template: on see, mis seob alamteema peateemaga. Väärtus peab TÄPSELT ühtima peateema kausta nimega. Twenty Twenty-Five puhul on kausta nimi twentytwentyfive, seega kirjutadki täpselt nii. Trükiviga või vale tõstutundlikkus tähendab, et teemat ei tuvastata alamteemana.

Samm 3. Lae peateema stiilid

Selles punktis alamteema juba töötab; saad selle aktiveerida jaotises Välimus → Teemad. Kuid sait kuvatakse ilma stiilideta, sest sinu style.css on endiselt tühi (välja arvatud päis).

Loo alamteema kausta fail nimega functions.php ja lisa kood peateema stiilide laadimiseks:

1add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
2
3function my_theme_enqueue_styles() {
4 $theme = wp_get_theme( 'twentytwentyfive' );
5 $version = $theme->get( 'Version' );
6
7 wp_enqueue_style(
8 'parent-style',
9 get_template_directory_uri() . '/style.css',
10 array(),
11 $version
12 );
13}

See kood tuvastab dünaamiliselt peateema versiooni ja lisab selle parameetrina stiililehe URL-ile. Kui teema uueneb, muutub versioon, brauser tühjendab vahemälu ja kasutajad näevad kehtivaid stiile ilma CSS-i probleemideta.

Asenda twentytwentyfive oma peateema nimega. Kasuta pigem wp_get_theme() kui kodeeritud versiooninumbrit; see kaitseb sind vahemälu probleemide eest uuenduste korral.

Kood ja alamteema failid

Samm 4. Aktiveeri alamteema

WordPressi administraatoris: Välimus → Teemad → leia oma äsja loodud alamteema → Aktiveeri. Saidi välimus ei muutu; see on normaalne. Oled alamteemal ja see töötab.

Kuidas alamteemat kohandada

Teema on aktiveeritud; nüüd kohandamise juurde. Siin on, mida saad ja peaksid tegema.

Oma stiilide lisamine

Kirjuta kõik oma CSS-reeglid alamteema faili style.css, pärast päise osa. Need alistavad automaatselt sama spetsiifilisusega peateema stiilid. Kui soovid muuta pealkirja värvi, kirjuta reegel alamteema style.css faili ja see rakendub.

Mallifailide muutmine

Tahad muuta single.php või footer.php struktuuri? Kopeeri soovitud fail peateemast alamteema kausta, säilitades sama alamkausta struktuuri (näiteks /template-parts/). Muuda koopiat alamteemas; kui WordPress laeb, kasutab ta sinu versiooni, mitte peateema originaali.

Oluline detail: kopeerida saab ainult MALLIFAILID (need, mis asuvad teema juurkaustas ja kaustas template-parts/). Faile alamkaustadest nagu inc/, functions/ ja classes/ sel viisil ei kopeerita. Nende failide loogika muutmiseks kasuta WordPressi konkse ja filtreid.

Laiendamine functions.php kaudu

Alamteema functions.php laaditakse ENNE peateema oma. See tähendab, et saad:

  • Lisada uusi funktsioone peateema functions.php puudutamata;
  • Alistada peateema funktsioone ainult siis, kui need on ümbritsetud if ( ! function_exists() ) kontrolliga;
  • Lisada uusi konkse ja filtreid, et muuta peateema või WordPressi enda käitumist.

Näide: SVG-üleslaadimise lubamine alamteema functions.php kaudu:

1function my_child_allow_svg( $mimes ) {
2 $mimes['svg'] = 'image/svg+xml';
3 return $mimes;
4}
5add_filter( 'upload_mimes', 'my_child_allow_svg' );

Ära MITTE KUNAGI kopeeri TERVIKULT functions.php faili peateemast alamteemasse. See põhjustab topeltdeklareeritud funktsioonide tõttu fataalse vea. Alamteema functions.php laiendab peateema oma; see ei asenda seda.

Uute mallifailide lisamine

Alamteema võib sisaldada malle, mida peateemas ei eksisteeri. Näiteks võid luua template-full-width.php lehtede jaoks ilma külgribata ja WordPress tuvastab selle alamteemas ning pakub seda valikuna lehe redigeerimisel.

Tööriistad ja tekstiredaktorid

Alamteema koodi jaoks sobib iga redaktor, kuid süntaksi esiletõstmine teeb asja lihtsamaks. Siin on mõned valikud:

  • VS Code: tasuta, laiendustega PHP ja WordPressi jaoks;
  • Notepad++: kerge redaktor Windowsile, mis haldab CSS/PHP/JS;
  • Sublime Text: kiire ja minimalistlik, pärast prooviperioodi tasuline.

Failidele FTP kaudu juurdepääsuks kasuta FileZilla FTP klienti. Majutusteenuse kasutajatele on sisseehitatud cPanel failihaldur paari faili loomiseks täiesti piisav.

Arendaja töötab WordPressi saidil

Levinud vead ja kuidas neid parandada

Aastatepikkuse alamteemadega töötamise jooksul oleme koostanud nimekirja kõige sagedasematest komistuskividest.

„Alamteemat ei tuvastata." Peaaegu alati on see viga real Template:. Kontrolli, et peateema kausta nimi ühtiks märk-märgilt, sealhulgas tõstutundlikkus ja sidekriipsud. TwentyTwentyFive ja twentytwentyfive on erinevad nimed.

„Sait näitab tavalist HTML-i ilma stiilideta." Alamteema on aktiveeritud, kuid stiilid pole laaditud. Lisa wp_enqueue_style() alamteema functions.php faili (vt Samm 3).

„Fataalne PHP viga pärast aktiveerimist." Tõenäoliselt kopeerisid peateema functions.php faili alamteemasse ja nüüd deklareeritakse funktsioone topelt. Eemalda duplikaadid alamteema functions.php failist; jäta alles ainult ENDA funktsioonid.

„Kohandaja seaded on kadunud." Need on seotud teema nimega. Lülitu ajutiselt tagasi peateemale, ekspordi seaded (plugina või teema sisseehitatud tööriista kaudu), seejärel aktiveeri alamteema ja impordi need.

„Peateema uuendamine lõhkus kujunduse." Arendaja muutis selle malli HTML-struktuuri, mille sa alamteemasse kopeerisid. Sinu koopia ei ühildu nüüd uute stiilidega. Lahendus: võrdle uut peateema malli oma koopiaga ja kohanda muudatused.

Samm-sammuline video (EN) alamteema loomisest: kausta loomisest kuni lõpliku aktiveerimise ja stiilide seadistamiseni. WPEstate kanal, 2025, selge ja ilma täiteaineta.

⁉️🤔 Korduma kippuvad küsimused

Kas ma pean iga WordPressi saidi jaoks alamteema looma?

Ei. Kui sa ei muuda teema faile ega lisa kohandatud koodi, ei ole sul alamteemat vaja. Kuid kui oled kunagi avanud administraatoris teemaredaktori, lisanud CSS-i jaotises Lisatud CSS ja plaanid malle muuta, loo alamteema. See võtab praegu 10 minutit ja säästab tunde järgmise uuenduse ajal.

Mis juhtub, kui kustutan peateema, kuid jätan alamteema alles?

Sait jookseb kokku kriitilise veaga. Alamteema ilma oma peateemata ei tööta; see ei sisalda täielikku failide komplekti ja pärib kõik peateemast. Enne peateema kustutamist kustuta (või deaktiveeri) esmalt alamteema ja aktiveeri mõni muu teema.

Kas ma saan luua „lapselapse" teema, alamteema alamteema?

Ei. WordPress toetab ainult ühte pärimise taset: vanem → laps. Keerukate kohanduste jaoks, mis ei mahu ühte alamteemasse, on õige lähenemine teema hargitamine ja täisväärtusliku peateema loomine või loogika viimine eraldi pluginasse.

Kas alamteema töötab plokiteemadega (FSE, Full Site Editing)?

Jah, kuid mehhanism erineb veidi. Plokiteemade puhul liidetakse alamteema theme.json peateema omaga, mitte ei asendata seda. Mallid ja malli osad alistatakse samamoodi: luues alamteemas sama nimega faili. Täpsemalt on kirjas ametlikus arendaja ressursside dokumentatsioonis wordpress.org-is.

Kuidas kanda juba peateemas tehtud kohandused alamteemasse üle?

Tee kindlaks, mida muutsid: CSS, mallid või functions.php. Kopeeri CSS-reeglid alamteema style.css faili. Muudetud mallide puhul kopeeri failid alamteemasse ja säilita oma muudatused seal. Kanna kood peateema functions.php failist üle valikuliselt: ainult oma funktsioonid, mitte tervet faili. Pärast ülekandmist eemalda oma muudatused peateemast; vastasel juhul lähevad need järgmisel uuendusel kaotsi.

Kas peaksid kohe alamteema looma

Kui oled siiani lugenud, on vastus tõenäoliselt jah. Alamteema ei muuda saiti keerulisemaks ega aeglusta seda. See eraldab sinu koodi teema arendaja koodist. See on nagu koodi kommenteerimine: alguses tundub ebavajalik, kuid kuu aega hiljem säästab see sind.

Neile, kes muudavad teemat esimest korda: alusta liivakastis. Kohalik server (LocalWP, XAMPP) või testkeskkond oma majutusteenuses. Loo alamteema järgides ülaltoodud samme, lisa paar CSS-reeglit, kopeeri üks mall. Kui näed, et kõik töötab, korda sama oma reaalsel saidil.

Küsimus ei ole selles, kas sul on alamteemat vaja. Küsimus on selles, millal sa sellele mõtled: enne teema uuendamist või pärast seda, kui sinu kohandused on haihtunud.