Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🔧 Kuidas uuendada WordPressi teemat seadeid kaotamata: täielik juhend

🔧 Kuidas uuendada WordPressi teemat seadeid kaotamata: täielik juhend

Kulutasid tunde oma teema viimistlemisele: fontide sättimine, päise ümberkujundamine, tootekaardile kohandatud stiilide lisamine. Sait näeb välja täpselt selline, nagu soovisid. Siis ilmub teade „teema uuendus saadaval" ja pärast ühte klõpsu kaovad kõik sinu muudatused.

Kõlab tuttavalt? See valu kummitab kõiki, kes on kunagi WordPressi teemat otse redigeerinud, mõtlemata uuenduskaitsele. Hea uudis: see probleem on täiesti lahendatav ja selleks ei pea olema arendaja.

Allpool on samm-sammuline juhend, mis töötab iga WordPressi teema puhul. Alates alamteema loomisest kuni uuenduste ohutu testimiseni töötaval saidil.

💡 Kiirülevaade:

  • Õpi, miks teema kohandused uuenduste käigus kaovad ja kuidas WordPress muudatusi salvestab
  • Loo alamteema 5 minutiga, nullist või pluginaga
  • Teisalda olemasolevad muudatused alamteemasse ilma midagi kaotamata
  • Seadista varukoopiad ja testi uuendusi oma saiti ohtu seadmata

Miks teema seaded uuendamisel kaovad

WordPress on üles ehitatud lihtsalt: iga teema asub oma kaustas /wp-content/themes/ sees. Kui klõpsad „uuenda", asendab WordPress teema failid täielikult uute versioonidega repositooriumist. Kõik, mida redigeerisid vana versiooni failides style.css või functions.php, kirjutatakse jäädavalt üle.

See käitumine pole viga, vaid omadus. See tagab, et pärast uuendamist saad puhta ja järjepideva teemaversiooni ilma kogunenud „prügita" vahepealsetest muudatustest. Ainus probleem on see, et WordPress ei tea, millised muudatused tegid sina ja millised olid teemas algselt.

Siit tuleneb teema kohandamise põhireegel: ära kunagi redigeeri ülemteema faile otse. Selle asemel paiguta kõik muudatused eraldi üksusesse, mida nimetatakse alamteemaks.

Alamteemad: kuidas need töötavad

Alamteema on kerge kiht ülemteema peal. See pärib kogu originaali funktsionaalsuse ja stiilid, kuid võimaldab sul üle kirjutada ainult seda, mida on vaja muuta. Kui ülemteema uueneb, jääb alamteema puutumata ja sinu muudatused säilivad.

Põhimõte sarnaneb Photoshopi kihtidega: alumine kiht on ülemteema ja selle peal asub läbipaistev alamteema kiht. Sa joonistad ülemisele kihile ja kui alumine välja vahetatakse, säilib ülemine.

Mida saab alamteemasse panna:

  • CSS-reeglid (fondid, värvid, vahed, reageerivus)
  • Lehemallid ja üksikud plokid: header.php, footer.php ja single.php
  • Funktsionaalsed muudatused faili functions.php kaudu (vidinate registreerimine, kohandatud postitüübid, otseteed)
  • Tõlked ja tekstistringid

Sisuliselt katab alamteema valdava enamuse kohanduste tüüpidest, mis muidu sunniksid sind ülemteema faile tuhnima.

Alamteema loomine: samm-sammuline juhend

Protsess ei võta rohkem kui viis minutit ja nõuab ainult juurdepääsu saidi failidele FTP või majutusteenuse failihalduri kaudu.

1. Samm: loo kaust

Kataloogis wp-content/themes/ loo uus kaust. Nimeta see nagu ülemteema, lisades järelliite -child. Näiteks teema twentytwentyfour puhul oleks kausta nimi twentytwentyfour-child. See nimetava ei ole range nõue, vaid laialt kasutatav tava, mis teeb kohe selgeks, millise teemaga alamteema on seotud.

2. Samm: ühenda stiilid failiga style.css

Loo kausta sisse style.css fail järgmise päisega:

1/*
2Theme Name: Twenty Twenty-Four Child
3Template: twentytwentyfour
4*/

Minimaalselt on nõutavad ainult kaks välja: Theme Name (mis tahes kordumatu nimi) ja Template (ülemteema kausta nimi, täpselt nii nagu kettal, tõstutundlik). Viga Template väljal ja alamteema ei ilmu administraatoripaneelis saadaolevate teemade loendisse.

3. Samm: pärime ülemteema stiilid failiga functions.php

Loo functions.php fail järgmise koodiga:

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

See kood teeb kahte asja: laadib ülemteema stiililehe ja seob selle versiooninumbriga. Versiooniga sidumine on kriitiline: kui ülemteema uueneb, muutub ka versiooninumber stiili URL-is. Brauserid ja CDN-id näevad uut URL-i ja tühjendavad vahemälu, nii et sa ei saa „katkist" CSS-i, sest brauser tõmbab jätkuvalt vana vahemällu salvestatud versiooni.

4. Samm: aktiveeri

Mine WordPressi administraatorisse → „Välimus" → „Teemad". Leia äsja loodud alamteema nime järgi, mille määrasid väljal Theme Name, ja klõpsa „Aktiveeri".

Pärast aktiveerimist hakkab WordPress kasutama alamteemat. Sait näeb välja täpselt samasugune nagu ülemteemaga, sest alamteema ei kirjuta veel midagi üle.

Olemasolevate muudatuste teisaldamine alamteemasse

Kui oled juba ülemteemat otse redigeerinud, ära paanitse. Muudatuste teisaldamine alamteemasse toimub käsitsi, kuid see on ühekordne toiming.

Siin on algoritm:

  • Koosta nimekiri kõigist ülemteema failidest, mida muutsid. Tavaliselt on need style.css ja functions.php, harvem mallifailid.
  • Kopeeri ainult muudetud koodilõigud vastavatesse alamteema failidesse. Ära kopeeri tervet faili, sest see kirjutaks tulevased ülemteema uuendused üle vana koodiga. Võta ainult see, mida lisasid või muutsid.
  • Pärast kõigi muudatuste teisaldamist taasta ülemteema algsed failid repositooriumist (lihtsalt installi teema uuesti või lae alla värske koopia).

Kui sul on kogunenud palju muudatusi ja sa pole kindel, mida täpselt muutsid, siis siin on nipp: installi plugin One Click Child Theme (see loob alamteema ühe klõpsuga), seejärel võrdle käsitsi ülemteema faile repositooriumi originaaliga, kasutades utiliiti diff või veebipõhist võrdlusteenust. Nii näed täpselt, milliseid ridu lisasid.

Alternatiivsed lähenemisviisid: raamistikud ja pluginad

Alamteema on peamine ja kõige paindlikum meetod, kuid turvaliseks kohandamiseks on ka teisi tööriistu.

Teemaraamistikud

Kui alles valid teemat ja plaanid tõsiseid muudatusi, kaalu raamistikke. Tuntuim näide on Genesis Framework StudioPressilt. Idee on selles, et raamistik toimib „igavese" ülemteemana ja sina töötad algusest peale alamteemas. Genesis ei uuene kaootiliselt; selle uuendused on kavandatud nii, et need ei lõhuks alamteemasid. Hind on 60 dollarit aastas, kuid neile, kes veebisaitidega raha teenivad, on see õigustatud investeering.

Teine võimalus on Total raamistik, millel on administraatoripaneelis sisseehitatud kohandatud CSS-i väli. Väikeste stiilimuudatuste jaoks võib sellest piisata, ilma et peaks üldse alamteemat looma.

Pluginad

Lähivõte koodist monitoril, veebiarendus

Kui sa ei soovi teemafailidega jännata, saab mõned ülesanded pluginatesse suunata:

  • WP Template Overrides võimaldab valikuliselt malle üle kirjutada ilma alamteemat loomata. Kasulik, kui on vaja parandada ühte konkreetset malli ja alamteema loomine tundub ülepingutusena.
  • One Click Child Theme plugin loob alamteema otse administraatoripaneelist, FTP-d pole vaja. Ideaalne esimeseks kogemuseks alamteemadega: klõpsa nuppu ja struktuur on valmis.

Oluline on mõista piiranguid: pluginad katavad kitsaid stsenaariume. Süstemaatiliseks kohandustööks on alamteema siiski usaldusväärsem, kuna see ei sõltu kolmandate osapoolte pluginate uuendustest ja töötab ka siis, kui vahetad aktiivseid pluginaid.

Varukoopiad: kindlustus enne uuendamist

Ükskõik millist meetodit kasutad, tee enne iga teema uuendust oma saidist varukoopia. See võtab paar minutit, kuid säästab närve, kui midagi ei lähe plaanipäraselt.

Kolm varundamise taset, lihtsast töökindlani:

  • Käsitsi varundamine FTP kaudu. Lae alla teema kaust ja ekspordi andmebaas phpMyAdmini või WP-CLI (wp db export) kaudu. Tasuta, kuid nõuab distsipliini; enne uuendamist on lihtne unustada.
  • Automaatne varundamine pluginatega. WordPressi kataloogi tasuta valikud tegelevad igapäevase failide ja andmebaasi kopeerimisega. Tasulistest lahendustest paistavad silma Jetpack VaultPress Backup (reaalajas pilvevarundus) ja Solid Backups (endine BackupBuddy, ühe klõpsuga taaste).
  • Varundamine majutusteenuse tasemel. Enamik hallatavaid WordPressi majutajaid teeb automaatselt igapäevaseid koopiaid. Kontrolli oma teenusepakkujalt, kui kiiresti saab sellisest varukoopiast taastada.

Reegel on lihtne: mida lähemal on uuendus, seda värskem peaks olema varukoopia. Tee varukoopia → uuenda teemat → kontrolli saiti. Kui see jookseb kokku, pöördu minuti jooksul tagasi.

Uuenduse ohutu testimine

WordPress käsitleb sama teema erinevaid versioone kahe eraldi teemana. Kui kaustad mytheme (v1) ja mytheme-new (v1.1) on mõlemad kataloogis /wp-content/themes/, näitab administraatoripaneel neid kahe erineva üksusena.

Saad seda käitumist kasutada ohutuks testimiseks:

  • Kopeeri praegune teema teise nimega kausta (näiteks mytheme-old).
  • Installi uus teemaversioon tavalisel viisil.
  • Aktiveeri uus versioon ja kontrolli saiti.
  • Kui midagi läheb katki, lülitu ühe klõpsuga tagasi vanale versioonile.

See ei asenda alamteemat, kuid annab sulle manööverdamisruumi, kuni kannad seadeid vanalt versioonilt uuele üle. See on eriti abiks, kui teema arendaja muutis suure uuenduse käigus radikaalselt malli struktuuri.

Ülaltoodud video pakub visuaalset demonstratsiooni alamteema loomisest alates alustamisest kuni aktiveerimiseni. Kui pärast tekstijuhiseid jääb küsimusi, selgitab see 7-minutiline klipp kõik ära.

⁉️🤔 Korduma kippuvad küsimused

Kas ma pean alamteema looma, kui redigeerisin CSS-i ainult jaotises „Kohanda" → „Täiendav CSS"?

Ei. Täiendavad stiilid kohandaja kaudu salvestatakse WordPressi andmebaasi, mitte teemafailidesse. Need ei kao uuenduste käigus. Kuid kui lisasid CSS-i teema style.css faili kaudu, on alamteema nõutav.

Kas ma saan alamteema luua, kui sait on juba töös ja sellel on pluginad installitud?

Jah, alamteema loomine ei mõjuta pluginaid. Protsess on täiesti sõltumatu: lood kausta ja kaks faili, aktiveerid alamteema ja sait jätkab tööd, nagu poleks midagi juhtunud. Üks hoiatus: kui kasutasid kohandaja funktsioone (näiteks määrasid logo või faviconi), pead need pärast alamteema aktiveerimist uuesti seadistama, sest need sätted on seotud konkreetse aktiivse teemaga.

Mida peaksin tegema, kui arendaja hülgas ülemteema?

Alamteema jätkab töötamist, kuid turvalisus ja ühilduvus uute WordPressi versioonidega muutuvad küsitavaks. Kui ülemteemat pole üle aasta uuendatud, peaksid kaaluma teisele teemale üleminekut. Lühiajaliselt jätka alamteema kasutamist nagu tavaliselt, kuid planeeri üleminekut.

Miks on Genesis Framework parem kui tavaline ülemteema?

Genesis loodi spetsiaalselt ülemteemaks. See ei muuda versioonide vahel drastiliselt disaini, pakub puhast konksude ja filtrite API-t alamteemade jaoks ning uueneb, pidades silmas tagasiühilduvust. Tavaline teema võib iga hetk oma malli struktuuri ümber kujundada ja sinu alamteema võib lakata töötamast. Genesise puhul on see risk minimaalne.

Kas ma saan teemat automaatselt uuendada, kui mul on alamteema aktiivne?

Jah, see ongi täpselt see, milleks alamteema on mõeldud. Ülemteema uueneb automaatselt (või käsitsi) ja alamteema jääb täiesti puutumata. Kõik sinu muudatused püsivad paigas.

Kas uuendada või mitte: mida kohe teha

Kui sa võtad kogu sellest artiklist kaasa ainult ühe asja, siis olgu selleks see lihtne reegel: ära redigeeri teemafaile otse; loo alamteema. See võtab viis minutit ja säästetud aega mõõdetakse tundides, mis kulub taastamisele pärast iga uuendust.

Algajatele on tee selline: installi One Click Child Theme → klõpsa ühte nuppu → aktiveeri alamteema → ja alles siis hakka kohandama. Neile, kes on juba ülemteemas muudatusi teinud, teisalda need ülaltoodud juhiste järgi alamteemasse, taasta originaalid ja uuenda rahuliku südamega.

Kas sul on mõni teine skeem seadete kaitsmiseks teema uuendamise ajal? Jaga kommentaarides ja me täiendame juhendit.