Блог
Site Editor bezbedan za klijente: priručnik za theme.json
Koristite theme.json da postavite granice u WordPress Site Editor-u, tako da klijenti mogu da uređuju sadržaj bez narušavanja vašeg dizajna.
Sažetak
Kada klijent prvi put otvori WordPress Site Editor, mogućnost da menja svaki blok, boju i raspored može da mu izgleda kao funkcionalnost — a vama kao pretnja. Ovaj članak objašnjava kako da pomoću theme.json postavite jasnu granicu između uređivanja sadržaja i kontrole dizajna. Umesto da se borite sa Site Editorom, postavljate presete, zadate vrednosti i granice koje čine da je bezbedno da netehnički klijenti ažuriraju svoj sajt. Proći ćemo kroz to šta treba zaključati, šta ostaviti otvoreno i zašto je preterano zaključavanje stvarni rizik. Pristup se zasniva na dizajn tokenima i ograničenjima na nivou šablona, tako da dosledno funkcioniše na svakom klijentskom sajtu koji održavate. Na kraju ćete imati postupak koji se može ponoviti za predaju Site Editora bez predaje ključeva vašeg dizajn sistema.
Šta je prvo što uradite kada vam klijent piše da je "samo pokušao da ažurira naslov", a na celom sajtu se raspored raspao?
Ako održavate više od jednog WordPress sajta, verovatno ste primili takvu poruku u nekoj formi. Site Editor je vašem klijentu dao ključeve automobila sa pet menjača i bez kočnice. On misli da pravi jednostavnu promenu teksta, a odjednom su globalna tipografija poremećena, hero sekcija na početnoj stranici ima neonsku boju koju niste izabrali, i dva bloka su sada naslagana umesto jedan pored drugog.
U međuvremenu, vi mislite na šest drugih klijentskih sajtova koje podržavate, i poslednje što vam treba je zamka u održavanju gde svaka "korisna" klijentska izmena zahteva vraćanje iz bekapa.
Odgovor nije da oduzmete Site Editor. Već da postavite granice unutar njega pomoću theme.json. Prema WordPress Developer Resources, theme.json je centralni izvor istine za postavke i stilove editora blokova — on definiše palete boja, tipografiju i opcije rasporeda koje se pojavljuju klijentu. To znači da isti fajl koji kontroliše vaš dizajn može da kontroliše i šta vaš klijent može, a šta ne može da menja.
Prođimo kroz to kako da razmišljate o ovome, jer se većina tutorijala fokusira na to šta theme.json može da uradi za developere. Pitanje za agenciju je drugačije: kako da ga iskoristimo da klijenti budu bezbedni, a da se ne osećaju zarobljeno?
Zašto se Site Editor čini tako opasnim?
Vaš klijent ne pokušava da pokvari sajt. Pokušava da uradi ono što ga godinama obučavate u starom editoru: promeni naslov, zameni sliku, možda doda pasus. Opasnost nije u njegovoj nameri — već u tome što Site Editor prikazuje globalne kontrole na istom mestu kao i lokalne kontrole.
Evo uobičajenog scenarija. Klijent otvori šablon u Site Editoru i vidi blok naslova. Promeni njegovu boju kako bi odgovarala novom brend uzorku. Ali pošto se taj naslov nalazi u šablonu, promena se primenjuje svuda gde se taj šablon koristi. Klijentu je to izgledalo kao jedna izmena. Za sajt, to je bila globalna promena.
Opšti princip: kada nekome date page builder, on će pre ili kasnije pronaći "postavke sa zaštitnim ogradama" i isključiti ih. Ali sa theme.json, možete sakriti same zaštitne ograde. Umesto da kažete klijentu "ne diraj globalne stilove", jednostavno mu ne prikazujete paletu boja koja može proizvesti loš rezultat. Definišete paletu odobrenih boja, skalu veličina fonta i skup presetova za razmak — i klijent bira između njih, a ne iz celog spektra CSS-a.
To je prvi pomak: prestanite da razmišljate o pravilima, a počnite da razmišljate o fabrikama. theme.json je vaša proizvodna linija. Vi konfigurišete opcije koje klijent vidi, a ograničenja sprovodi sam interfejs, a ne skup uputstava u dokumentu za primopredaju.
Šta zapravo treba zaključati?
Ne sve. Ako previše čvrsto zaključate oblast sadržaja, klijent će ili da vas zove svaki put kada treba da doda pasus, ili će naći način da vas zaobiđe — često dodavanjem jednokratnog dodatka ili kopiranjem HTML-a sa svog starog sajta.
Evo praktične tabele šta zaključati, šta ostaviti i zašto:
| Površina za uređivanje | Zaključati? | Zašto |
|---|---|---|
| Struktura šablona i raspored blokova | Zaključati | Sprečava slučajno uklanjanje ili preuređivanje osnovnih blokova rasporeda |
| Globalni stilovi (boje, fontovi, preseti za razmak) | Zaključati uz presete | Klijenti biraju iz odobrenog skupa, a ne proizvoljne vrednosti |
| Tekst i slike sadržaja | Ostaviti otvoreno | To je njihov posao; dozvolite im da to rade bez traženja dozvole |
| Razmak između blokova | Delimično zaključati | Obezbedite presete za razmak kako bi mogli da prilagode ritam bez narušavanja poravnanja |
| Kustodirani blok obrasci | Ostaviti otvoreno ako ste ih pregledali | Bezbedan način da klijenti dodaju nove sekcije bez građenja od nule |
Važna nijansa je "zaključati uz presete", a ne "zaključati napolje." Za globalne stilove, ne skrivate panel sa postavkama; smanjujete broj izbora na kustodirani skup. Za strukturu šablona, možete zaključati određene blokove tako da se ne mogu ukloniti, ali i dalje dozvoliti klijentima da menjaju tekst unutar njih.
Jedna reč opreza: zaključavanje bloka u šablonu razlikuje se od zaključavanja na konkretnoj stranici. Zaključavanja šablona utiču na sav sadržaj koji koristi taj šablon. Ako su vam potrebni različiti nivoi zaključavanja na različitim stranicama, moraćete da radite na nivou bloka unutar editora, što je krhkije. Za ponovljiv agencijski rad, dizajnirajte šablone tako da zaključana područja budu dosledna.
Kako postaviti granice bez da editor deluje kao zamka?
Tehnika je da definišete svoje dizajn tokene u theme.json i onda se suzdržite od bilo čega drugog u CSS-u.
Na primer, umesto da klijentu dozvolite da postavi proizvoljnu boju na dugme, definišete stil dugmeta u theme.json koji koristi određenu boju iz vaše palete. Klijent i dalje može da izabere dugme i promeni njegov tekst, ali biralo boja prikazuje samo vaše odobrene nijanse. Isto važi za veličine fontova, visine linija i razmake.
Isti princip se primenjuje na šablone. Možete koristiti funkciju "zaključaj" na određenim blokovima unutar šablona — na primer, zaključajte strukturu kolona bloka s preporukom tako da klijent može promeniti tekst citata, ali ne može pretvoriti tri kolone u dve. Ako još niste koristili zaključavanje blokova, ono je dostupno u alatnoj traci editora; kada zaključate blok, možete odabrati da li klijent može da menja sadržaj, pomera ga ili oboje. Ovo možete primeniti i u theme.json za podrazumevane vrednosti na nivou bloka.
Ono čemu težite je editor u kome klijent nikada ne vidi kontrolu koja može da pokvari dizajn. To ne znači da ne može ništa da pogreši; znači da najgora stvar koju može da uradi jeste da promeni formulaciju naslova, a ne da promeni izgled celog sajta.
Ako koristite prilagođene tipove sadržaja, isti principi važe i van podrazumevanih šablona — pogledajte naš vodič o proširivanju theme.json na prilagođene tipove sadržaja i izlaz dodataka.
Šta se dešava kada zaključate previše?
Evo kontrarnog stava: preterano zaključavanje je jednako štetno kao i nedovoljno. Klijent koji ne može da promeni veličinu naslova ili doda razmak između sekcija će na kraju tražiti da "samo sredite da izgleda kako treba" — i onda se vraćate na sitne izmene besplatno. Još gore, mogao bi da zaključi da je Site Editor beskoristan i da se vrati na page builder treće strane, koji mu opet daje previše kontrole.
Kompromis je stvaran. Zaključani editori proizvode manje hitnih poziva, ali takođe proizvode više zahteva "možeš li samo da pomeriš ovo dugme za pet piksela nagore." Otvoreni editori proizvode suprotno. Vaš posao je da pronađete tačku ravnoteže za svakog klijenta, a ne da primenjujete jednu konfiguraciju univerzalno.
Dobar početni heuristik: zaključajte sve što utiče na sve instance nečega (globalne stilove, strukturu šablona), a ostavite otvorenim sve što utiče na jednu instancu (tekst i slike jedne stranice). Ako klijent pokvari jednu stranicu, to je popravka od 5 minuta. Ako pokvari globalni stil, to je popravka od 20 minuta i sigurnosni problem.
Kako ovo učiniti ponovljivim kod više klijenata?
Ovo je mesto gde agencijski radni tok dolazi do izražaja. Trebalo bi da imate osnovni theme.json koji definiše vaše dizajn tokene — paletu boja, tipografsku skalu i presete za razmak — i zatim per-client override fajl koji proširuje ili menja specifične vrednosti.
Počnite tako što ćete napraviti "starter" blok temu. Evo kako da napravite prilagođenu blok temu sa theme.json — kada je razvijete i dokumentujete, kopiranje za novog klijenta svodi se na zamenu brend boja i fontova. Ne gradite ponovo točak; menjate tokene. To je upravo način razmišljanja prestanite da pravite svaki WordPress sajt ispočetka, ali primenjen na editor, a ne na backend.
Pošto je theme.json jedan fajl, lako ga je verzionisati i implementirati u više okruženja. Možete pregledati promene, videti šta je klijent menjao u globalnim stilovima i uporediti te promene sa vašim osnovnim fajlom. To vam daje snažan trag za reviziju za zahteve podrške.
Ako održavate više sajtova i još niste postavili osnovnu temu, ovo je vaša prilika. To je jedan deo prilagođenog WordPress rada koji se isplati svaki put kada klijent otvori editor.
Šta sa klijentima koji stalno traže "još jednu boju"?
Vaša paleta je obećanje. Ako definišete pet brend boja, a klijent traži šestu, odgovor nije "ne" — već "da, ali to dolazi kao promišljen dodatak paleti, a ne kao jednokratna hex koda u naslovu." Kada dodate boju u theme.json, ona postaje dostupna na celom sajtu dosledno. To je pravi način da se nosite sa takvim zahtevima.
Ovo je takođe mesto gde treba da komunicirate sa klijentom. Objasnite da Site Editor prikazuje samo boje i fontove koji odgovaraju njihovim brend standardima. Ako žele da prošire te standarde, vi ćete to rešiti u dizajn sistemu, i tada će svaka nova boja biti dostupna svuda — uključujući i na budućim stranicama koje još nisu napravili. To je mnogo bolji odgovor od "mi to ne radimo."
Istovremeno, nemojte gomilati paletu od četrdeset boja. Pregledajte je kvartalno i uklonite sve što je bilo jednokratna greška. Cilj je mali, namerni skup opcija.
Ako zaključate raspored, ali ostavite sadržaj otvorenim i učinite paletu živim delom vašeg odnosa sa klijentom, Site Editor prestaje da bude pretnja. Postaje način da svojim klijentima pružite stvarnu autonomiju bez žrtvovanja standarda dizajna koje ste plaćeni da čuvate.
Sources (5)
- WordPress Architecture: A Complete Guide - Liquid Web
- Inside WordPress - A Deep Dive into Technical Architecture and Essential Components
- WordPress Tech Stack Explained: Core Components and Uses - WPoptic
- A Guide To Understanding WordPress Architecture - Pressable
- A Detailed Guide About WordPress Architecture - Auxilium Technology