Tek Bir JSON Dosyasıyla Blok Tabanlı WordPress Alt Temaları Tasarlama
Yayınlanan: 2021-10-26İlk tema mağazamı 2008'de sadece tamirci olarak açtığım andan günümüze kadar, planım her zaman CSS Zen Garden kalıbında tek bir tema inşa etmek oldu. Bu, Dave Shea'nın 2000'lerin başında tasarımcıların bir siteyi yalnızca CSS aracılığıyla nasıl manipüle edebileceğini göstermek için başlattığı bir projeydi. HTML aynı kalacaktı, ancak tasarım herhangi bir şey olabilir.
Birkaç projeyle bu hedefe defalarca ulaştım. Teknik olarak, tek ihtiyacım olan bir WordPress temasında mimari olarak sağlam biçimlendirme ve bir alt temada özel CSS idi.
Konsept basitti ama zamanla vizyonum değişti. Bu tür çocuk temalarını tasarlamayı daha da kolaylaştıran bir şey yaratmak istedim. Bu nedenle, WordPress'in tema tasarımı alanındaki araç eksikliğini gidermek için özel sistemler kurdum. Fazla övünmek istemem ama bazı kullanışlı yöntemler yarattığımı hissettim. Alt tema tasarımcılarının, değerleri yazı tipi ailesi adları ve renk kodları gibi yapılandırma dosyalarına eklemelerine izin verdiler. Bunların çoğunun üzerine, özelleştirici aracılığıyla son kullanıcılar tarafından da yazılabilir.
2018'e kadar, şimdiye kadar oluşturduğum en iyi WordPress teması olan magnum opus'un ne olacağı konusunda zaten çok çalışıyordum. Ayrıca sonuncusu olmasını da planlamıştım. Bir süredir oyundan çıkmayı düşünüyordum. Ama bu, görmem gereken bir projeydi.
Ardından, yeni blok düzenleyici her şeyi havaya uçurdu. Başlamadan önce onunla aylarca çalıştım, ancak tema geliştirmenin asla aynı olmayacağını biliyordum. Gutenberg projesi, WordPress'in geleceğini olgunlaşmaya ve yeniden şekillendirmeye devam edecekti.
Sonunda temamı başlattım. Yeni blok sistemini destekleyen en eski ticari ürünlerden biriydi. Ancak ben de bayıldım.
Bunlar erken blok editörü günleriydi. Üç veya daha fazla yıl içinde neye bakacağımızı gerçekten kimse bilmiyordu, ancak birazcık bile dikkat etseydiniz, temanın o zamanlar olduğundan çok farklı bir şeye dönüşeceğini görebilirdiniz. Kısa sürede alakasız hale gelecek bir tema sistemi oluşturmak için bir yıldan fazla zaman harcadım - elbette, bu hedefe çok daha erken varacağımızı düşündüm.
WordPress 5.9, Tam Site Düzenlemenin son alt bileşenlerini gönderecektir. Bu, başlık altındaki blok temalar için destek içerecektir. Bunları yükleyen kullanıcılar, site düzenleyicisi ve genel stiller arabirimi aracılığıyla bunları özelleştirebilir.
Beni en çok heyecanlandıran 13 yıl önce her sabah beni uyandıran şey: çocuk temaları.
Blok alt temaları aylarca Gutenberg eklentisinde kısmen çalıştı. Ancak en çok beklediğim özellik bir hafta öncesine kadar hazır değildi. Yeni bir yama, bir alt temanın, üst öğesinin theme.json dosyasının tek değerlerinin üzerine yazmasına olanak tanır. Esasen, iki dosya, çocuk öncelikli olacak şekilde birleştirilir.
Bu özellik beni neden bu kadar heyecanlandırdı? Çünkü geçmiş yıllarda kurduğum sistemin aynısıydı - ama daha iyisi.
Bu araziyi Gutenberg'in geliştirme versiyonunda gördükten sonra yaptığım ilk şey, uğraştığım özel bir temayı yüklemek oldu. Eğlenmek ve kendi düzenlemem için inşa ettiğim bir projedir.

Ardından kod düzenleyicimde yeni bir proje oluşturdum. Gerekli style.css dosyasını ekledim ve uygun başlık alanlarını ekledim. Bunun ötesinde ihtiyacım olmayacaktı. Alt temamın tasarımı tamamen başka bir özelliğe dayanacaktı.

Alt temanın kök seviyesinde bir theme.json ekledim ve uzun zamandır tema ile yaşadığımdan daha fazla eğlenmeye başladım.
Birkaç sonbahar rengi ve eğlenceli bir başlık yazı tipi seçtim. Birkaç dakika içinde, test kurulumumun üzerine yeni bir kat boya sıçradı. Tasarım devrim niteliğinde ya da buna benzer bir şey değildi. Birkaç değer ekleyerek tasarımımı dönüştürmenin ne kadar kolay olduğuna şaşırdım.

Bu, her zaman özlediğim çocuk teması türüdür. Çeşitli mevsimler ve tatiller için temamın tasarım öğelerini değiştirme gücü istiyorum. Ve bu çocuk temalarını başkalarıyla paylaşabilmek istiyorum.
Dediğim gibi, daha önce bu tür çocuk teması yöntemleri geliştirmiştim (JSON yerine PHP kullandım). Bununla birlikte, bu çok daha güçlü çünkü standart blok sistemine dayanıyor ve yalnızca bir avuç insanın kullanacağı özel bir şey değil.
Bazılarınız bu değişiklikleri neden bir alt tema oluşturmak yerine site editörü aracılığıyla yapmadığımı sorabilir. Rich Tabor, aynı soruyu bugün erken saatlerde Twitter'da da sordu. "Bir tema, Global Stiller aracılığıyla değiştirilebilen JSON ve blok şablonlarından oluşuyorsa, alt temalar ne işe yarar?"
Diyelim ki bir blok tema yükledim ve bir kaç renk ayarı yaptım. Şimdi, Noel geldiğinde bunu karıştırmak istediğimi farz edin - birkaç renk atın ve şenlikli bir tatil yazı tipi bulun. Bu değişiklikleri yaptığımda, sezon bittiğinde eski tasarımım artık orada olmayacak çünkü kullanıcı özelleştirmeleri aktif temaya göre saklanıyor. Tabii ki, tüm eski ayarlarımı not edebilir ve hepsini daha sonra değiştirebilirim. Ancak bunu bir alt tema aracılığıyla yapmak, temaları herhangi bir zamanda değiştirebileceğim anlamına geliyor. Eski ayarlarım bozulmadan kalacaktı.
Belki de bu çok uç bir durumdur. Bugünlerde kim tasarımlarında mevsimsel değişiklikler yapıyor, değil mi?
Heyecan verici olan kısım, tek bir JSON dosyasıyla oluşturulmuş alt temaları başkalarıyla paylaşabiliyor olmam.
Çocuk teması, WordPress'e geldiğinden beri benim için bir tutku oldu. Bazı açılardan, çok fazla değişmedi. Temalar yine de üst öğeden şablonların üzerine yazabilir. İsterlerse özel CSS eklemeye devam edebilirler. Ancak artık tasarımın herhangi bir bölümünü tek bir standart dosyadan yapılandırabilirler. Bu, geliştiricimin şapkasını geri koymaya ve bir tema daha oluşturmaya değer bir şey.
Ayrıca tasarım öğelerini paylaşmanın aynı faydalarına sahip olan, çocuk teması olmayan bir gelecek görüyorum.
Blok kalıbı dizini, iyi oluşturulmuş herhangi bir WordPress temasıyla çalışması gereken düzenler sağlar. Bununla birlikte, gelecekte parçalayabileceğimiz başka tasarım bileşenleri de var.
WordPress'in Color Lovers'ın sunduğu gibi kurulabilir renk paletlerine sahip olabileceği bir gelecek hayal ediyorum. Yeni bir tema bulmadan bir dizine göz atın, kurun ve renk düzeninizi değiştirin. Son Adrian eklentisine benzer bir şey, yazı tipleri için aynı amaca hizmet edebilir. Bunlar, topluluğun yolda düşünmek isteyebileceği şeyler. Bu noktada hiçbir fikir masadan kalkmamalıdır.
Şimdilik, çocuk temalarının tüm gücüne sahip olduğum için mutluyum. Değişiklik bu hafta Gutenberg 11.8'e ve bu yıl WordPress 5.9'a inecek.
