Web / Bilgisayar / Cep Telefonu

Alt Tema (Child Theme) Nedir, Neye Yarar, En Kolay Nasıl Oluşturulur?

Al Tema WordPress

WordPress temanızın orijinal dosyalarını değiştirirseniz, yapacağınız güncellemelerle değişiklikleriniz kaybolabilir. Bu nedenle, temanızın kodlarında düzenlemeler yapmadan önce bir alt tema oluşturmanız, sizi gelecekteki baş ağrılarından korur.

WordPress ve tema güncellemeleri bazen web sitesi sahiplerinin korkulu rüyası olabiliyor. Çünkü her WordPress veya tema güncellemesi sonrasında kullandığınız temada daha önce yaptığınız güncellemeleri birer birer eski haline getirmeniz gerekebilir. Oysa bu sıkıntıyı yaşamamamız için geliştirilmiş kolay bir çözüm yolu var.

Bir alt tema oluşturmak suretiyle, orijinal temayı hiç etkilemeden tema özelleştirme işlemleri için kullanabileceğiniz ayrı bir dosya grubu oluşturabilirsiniz. Bu yöntemle oluşturulan alt temalar yalnızca ana temayı güncelleme işlemini kolaylaştırmakla kalmaz, aynı zamanda temanızın orijinal kodlarını etkilemeden değişiklikler yapmanıza izin verir ve orijinal dosyalarınızı asla değişmeden korumanızı sağlar.

Alt temayı istediğiniz zaman etkisizleştirerek tekrar orijinal temaya geri dönebilirsiniz. Dolayısıyla, kullandığınız tema kodlarında değişiklik yapmadan önce alt tema kullanmayı öğrenmenizde büyük yarar var. Bunu nasıl yapacağınızı henüz keşfetmediyseniz, bu yazıyı okuyup anlatacağım yöntemi mutlaka kullanmanızı öneririm.

Ana tema ve alt tema nedir sorularının yanıtıyla başlayalım.

Ana (ebeveyn) tema ve alt (çocuk) tema

Orijinal isimleri “parent theme” ve “child theme“. “Ebeveyn tema” ve “çocuk tema” olarak da direkt çevriliyor olmalarına karşılık buradaki anlatımda “ana tema” ve “alt tema” tabirlerini kullanacağım.

WordPress blogunuzda kullandığınız tema için bir “alt tema” oluşturduğunuzda, temanız doğal olarak “ana tema” adını almaya başlıyor. Bu konuyla ilgili bilmeniz gerekenleri ve sonuca en kolay şekilde ulaşmanın yolunu aşağıda okuyabilirsiniz.

Alt tema nedir?

Alt tema (child theme), WordPress temalarda güncellemeler yaparken, kullanıcının tema kodlarında daha önce yaptığı değişikliklerin korunması için geliştirilmiş bir yöntem. Sitenizde / blogunuzda kullandığınız bir WordPress temasına yaptığınız değişikliklerin ayrı bir tema olarak paketlenmesine alt tema (çocuk tema) denir. Bu paket yalnızca tema üzerinde yaptığınız değişiklikleri içerir ve tema üzerinde yaptığınız tüm değişiklikler bu paketin içinde yer alır.

Dikkat!

Blogunuz veya sitenizde (sayfalarda, yazılarda, ayarlarda, bileşenlerde, tema seçeneklerinde, vb.) yaptığınız değişiklikler değil, burada orijinal temanızda yaptığınız değişiklikleri, yani sytle.css, header.php veya function.php gibi temanızın stil ve fonksiyon kodlarında yaptığınız değişiklikleri kast ediyorum.

Alt tema neden kullanılır? Faydaları nelerdir?

Alt tema, ana temanın tercih ettiğiniz özelliklerini, fonksiyon ve stil değişikliklerini güvenli bir şekilde korumaya yarar. Eğer bu tür değişiklikleri doğrudan orijinal temayı kullanarak yaparsanız, bir WordPress güncellemesi yaptığınızda veya kullandığınız tema sürümünü güncel hale getirdiğinizde, temanızda (dolayısıyla sitenize / blogunuzda) yapmış olduğunuz tüm değişiklikler ve düzenlemeler bir anda uçup gidebilir. Ancak eğer alt tema kullanırsanız, yaptığınız değişiklikler güncelleme sonrasında kaybolmaz, olduğu gibi korunur.

Alt tema kullanmak böylece zaman ve emek kaybını önler. Ayrıca alt tema kullanımı, WordPress tema geliştirme konusunu öğrenmenize yarar. Alt tema kullanmanın öncelikli getirisi, kullandığınız tema ile sitenizin görünümünde yaptığınız tercihleri, değişiklikleri güncellemeler sebebiyle kaybetme riskini ortadan kaldırmasıdır.

Alt tema CSS ve PHP dosyalarını nasıl etkiler?

Örneğin, bir alt tema yaratıp etkin hale getirdikten sonra temanızın stillerini belirleyen CSS’sini değiştirirseniz, siteniz yüklenirken tüm yeni CSS bilgileri, orijinal temanın CSS dosyası yüklendikten sonra eklenir. Yeni CSS’niz dosyadaki orijinallerin altına yerleştirildiğinden dolayı, tüm yeni CSS stilleri orijinallerinin üzerine yazacaktır. Bu durumda yaptığınız değişiklikler kalıcı olur.

Benzer şekilde, Functions.php, bir temanın ana işlevlerinin tipik olarak depolandığı yerdir. Ana temanın işlevleri her zaman alt temayla yüklenir, ancak temanıza daha fazla özel işlev eklemek istiyorsanız, alt tema klasörünüzde yeni functions.php dosyası oluşturarak bunu yapabilirsiniz. Yeni işlevler ana temanın işlevlerinden hemen önce yüklenecektir.

Alt tema nasıl oluşturulur?

Alt tema kullanabilmeniz için yapılması gereken şey, kullandığınız temanın bir alt temasını oluşturmaktır. Alt tema oluşturulması için ilk yapılması gereken şey ise, sitenizin /wp-content/themes dizini içinde yeni bir dizin (klasör) oluşturmaktır. Bunu manuel olarak da yapabilirsiniz. Bunun için “temanızınismi-child” şeklinde alt tema ve onun içine bir style.css dosyası oluşturup düzenleyerek, üst temanın stilini kullanarak yaptığınız değişiklikleri algılamasını sağlamanız gerekir.

Alt tema oluşturmanın en kolay ve hızlı yolu

Kodlarla uğraşmak sonuçta hem zaman alıcı ve hem de tecrübeli olmayanlar için riskli bir yoldur. Belki siz de şimdiye dek alt tema oluşturmak için hayli uğraştınız, ancak bunun için artık kodlarla uğraşmaya gerek yok, çünkü “Child Themify” isimli bir eklenti (plug-in) mevcut. Siz sadece bu eklentiyi kuruyorsunuz, hiç bir kodlamaya gerek duymadan o sizin için alt temanızı yaratıyor. Hepsi bu.

Not: Eğer premium tema kullanıyorsanız, alt temanız ana temanızla birlikte gelir veya veya temanızın altında “alt tema yarat” (create a child theme) seçeneği yeralır.

Alt (çocuk) tema oluşturmak için aşağıdaki iki adımı uygulamanız yeterli.

1. adım:

Eklentiyi kur ve etkinleştir

Bunun için WordPress Başlangıç menünüzde “Eklentiler > Yeni Eklenti” yolunu izleyerek “Child Themify” ismini aratın; bulduğunuzda kurun ve etkinleştirin. Ardından yüklü eklentilerinize baktığınızda Child Themfy eklentisini aşağıdaki şekilde görerek emin olun.

Alt Tema (Child Theme) Nedir, Ne işe Yarar, En Kolay Nasıl Oluşturulur

Böylece bir tıkla alt tema oluşturmanızı sağlayacak eklentiyi etkin hale getirmiş oldunuz.

2. adım:

Alt tema oluştur’a tıkla

Şimdi yapmanız gereken şey kullanmak istediğiniz temaya bunu uygulamak. Bunun için ilk olarak WordPress Başlangıç menünüzde “Görünüm > Temalar” yolunu izleyin. Seçtiğiniz temanın üzerine geldiğinizde “Tema detayları” butonu görünür hale gelecektir.

Alt Tema (Child Theme) Nedir, Ne işe Yarar, En Kolay Nasıl Oluşturulur

Tema detayları’na tıklayın. Seçtiğiniz temanın detaylarına girdiğinizde, sayfanın altında aşağıdaki seçenekleri göreceksiniz.

alt-tema-yapimi

Bir alt tema oluşturmak için “Create a child theme” (alt tema oluştur) butonuna tıklamanız yeterli. Son adımda oluşturduğunuz alt temaya bir isim vermeniz istenecek. Bir isim yazıp “Let’s go!” butonuna tıklayın.

Alt Tema (Child Theme) Nedir, Ne işe Yarar, En Kolay Nasıl Oluşturulur

Your child theme was created succesfully” mesajını gördüğünüzde alt temanızı başarıyla oluşturduğunuzdan emin olabilirsiniz.

Alt tema

Sonrasında, oluşturduğunuz alt temayı etkinleştirerek kullanabilirsiniz.

Artık WordPress güncellemelerini gönül rahatlığıyla yapabilirsiniz. Bundan böyle yapacağınız WordPress ve tema güncellemeleri, temanızın kodlarını değiştirmek suretiyle sitenizde yapmış olduğunuz değişiklikleri yok etmeyecektir.

Tekrar görüşünceye dek… Öğrenmeye devam edin!

Bu bilgilerden sosyal medya çevrenizi de haberdar etmek isterseniz, aşağıdaki renkli ikonlara tıklayarak paylaşabilirsiniz.

Yazar Hakkında

Baki Karaçay (MPA)

iO Akademi'de Eğitmen, Danışman. 25 yılı aşkın süre profesyonel deneyim sahibi Kamu Yönetimi Uzmanı (YL) ve Mühendis / Antalya Valiliği AB Projeleri Koordinatörü (2009-2020). Avrupa Birliği Projeleri kitabının yazarı ve Proje Döngüsü Yönetimi Eğitmeni. Sosyal Psikoloji meraklısı. Fotoğraf gönüllüsü. Webmaster. Bağlama sanatçısı. Kayakçı, doğa yürüyüşçüsü.

Yorumunuzu Ekleyebilirsiniz

14 yorum

  • Merhaba, yazınız ve bilgilendirmeniz için teşekkür ederim. Ben premium lisanslı temalar kullanıyorum ve her premium temanın yanında bir çocuk teması mevcut. Burada ne yapmam gerektiğini pek anlayamadım. Yani gerçekte hangi tema etkin olacak ve en baştan sona doğru nasıl çalışacağız onu merak ediyorum. Çocuk temayla mı çalışılacak yoksa ana temayla mı? Ya da ana temayla website hazırlandıktan sonra çocuk tema mı etkin hale getirilecek. Bu konuda bir çıkış yolu belirtirseniz memnun olurum. Teşekkürler. İyi çalışmalar.

    • Merhaba. Alt temayı kullanmanız, ana temayı güncellediğinizde özelleştirmelerinizin kaybolmamasına yarar. Sitenizi ana temayla hazırlayıp alt temayı etkin hale getirebilirsiniz. Böylece alt tema, ana temanın görünümünü ve tüm işlevlerini devralır; yaptığınız özelleştirmeler ana tema dosyalarından ayrı tutulur.

    • Yazıya yeni açıklamalar ekledim. Temanızın orijinal CSS, PHP gibi şablon dosyalarında değişiklik yapacaksanız alt temayı kullanın. Temanızın orijinal kodlarını değiştirmiyorsanız, alt tema kullanmaya ihtiyacınız yok.

  • Birçok websitesinde child dosyasının manuel yapılması anlatılmış, sizin anlattığınız en pratik olanı teşekkürler. Yalnız benim sormak istediğim şey şu, hali hazırda kullanmamız gereken tema “ana tema” mı yoksa “child tema” mı, child kullanırsak eklenti filan eklenemiyor malum. Bir de ana temada yapılan değişiklik child temaya otomatik mi kaydediliyor, ek birşey yapmıyoruz yani

    • Sitenizi ana temayla hazırlayıp alt temayı etkin hale getirebilirsiniz. Sonrasında tıpkı ana temadaki gibi eklentileri vs. kullanabilirsiniz. Ek bir şeye gerek yok.

  • Yazıya yeni açıklamalar ekledim. Temanızın orijinal CSS, PHP gibi şablon dosyalarında değişiklik yapacaksanız alt temayı kullanın. Temanızın orijinal kodlarını değiştirmiyorsanız, alt tema kullanmaya ihtiyacınız yok.

  • Hocam merhaba blogunuzu tesadüfen google da arayarak buldum. Lisanslı wordpress tema kullanıyorum. Download dosyaları arasında zipli child tema mevcut. WordPress admin paneline gelip yeni tema ekle dediğimde şu hatayı alıyorum.
    Kök tema eksik. Lütfen “jnews” kök temasını yükleyin.

    Acaba temayı zipten çıkartıp ftp yoluyla atsam sorun çözülür mü?

    Bir de ben bu işlemi kullandığım temanın güncel versiyonu çıktığı için yapacağım.

    Child temayı aktif hale getirip wordpress temasını öyle mi güncellemeliyim?

    • Merhaba.
      Hayır. sytle.css ve function.php gibi temanın orijinal stil ve fonksiyon kodlarında değişiklik yapmadıysan child temaya ihtiyacın yok. Güncel tema klasörünü yüklemen yeterli. Bunun için gelen .zip uzantılı dosyayı açıp, içindeki .zip uzantılı tema klasörünü sunucuna yüklemelisin. WordPress Yönetim Panelinden, Görünüm > Temalar > Yeni Ekle yolunu izleyerek yüklemen kolay yolu. Yüklemeden sonra yenisini etkinleştirmen gerekir. Eğer yeni ve eski sürümlerin ismi aynıysa hata vermemesi için, FTP yoluyla eskisinin ismini değiştirebilirsin.

  • Siteme ait bir alt tema oluşturdum. Orijinal sitemi Themeforesttan satın aldım ve ingilizce. Güncelleme yapılınca yaptığım değişikliklerin kaybolmasını istemiyorum. Bu yüzden alt temam üzerinden türkçeleştirme yapmak istiyorum. Fakat html kodlarını nasıl değiştireceğimi bilemedim alt tema üzerinden. Bu konuda yardımcı olursanız sevinirim.

  • Baki bey merhabalar,

    Öncelikle vermiş olduğunuz değerli bilgiler ve açıklamalar için çok teşekkürler, emeğinize sağlık.

    WordPress için child tema oluşturma ihtiyacı duyuyorum, çünkü ana temayı oldukça derin şekilde customize ettim ve değiştirdim. Sorum ise şöyle, hali hazırda ana tema dosyamı customize ettim yani değiştirdim. Bu aşamada bir child theme oluşturmak benim için etkili ve koruyucu olacak mıdır? yoksa bu işi en başından mı gerçekleştirmem gerekirdi.

    İyi çalışmalar dilerim,

    • Bildiğim kadarıyla Customizer Export/Import eklentisini kullanarak ana temada yaptığınız özelleştirmeleri (customize) bir .dat dosyası olarak indirmek (dışa aktarmak) ve ardından bu dosyayı İçe Aktar komutuyla etkinleştirdiğiniz alt temaya aktarmak mümkün. Bunu nasıl yapacağınızı aratarak önceden her adımdan emin olun. (Eğer style.css ve functions.php gibi dosyalarda değişiklik yaptıysanız, “düzenlenmiş bir temadan alt (child) tema oluşturma” işlemlerini öğrenip uygulamanız gerekir.) Kolaylık ve başarlar.