O R H A N K A R T O P U
Çocuk tema nedir, ne işe yarar WordPress

Temanın style.css dosyasına girip bir rengi değiştirdin, sonra tema güncellendi ve değişiklik uçtu. WordPress ile uğraşan hemen herkes bunu bir kez yaşar ve genelde birkaç saatlik emeğini kaybettikten sonra çocuk temayı öğrenir. Oysa baştan doğru yöntemi bilsen, bu derdi hiç yaşamazsın. Bu yazıda çocuk temanın ne olduğunu, ne zaman gerektiğini ve iki dosyayla nasıl kurulduğunu adım adım anlatıyorum.

Çocuk tema nedir

Çocuk tema, mevcut bir temanın üstüne kurulan ikinci bir temadır. Ana temanın tasarımını ve işlevlerini olduğu gibi devralır, ama senin eklediğin kodlar ayrı bir klasörde durur. Ana tema güncellendiğinde o klasöre dokunulmaz, yani değişikliklerin kalıcı olur.

Bunu bir binaya benzetebiliriz. Ana tema binanın temeli ve taşıyıcı duvarları; çocuk tema ise senin o binaya eklediğin boya, mobilya ve kişisel dokunuşlar. Bina baştan yenilense bile senin eklediklerin ayrı bir yerde durduğu için korunur. WordPress bir sayfayı oluştururken önce çocuk temaya bakar, orada bulamadığını ana temadan tamamlar. Bu basit mantık, çocuk temayı hem güçlü hem güvenli yapar.

Neden doğrudan temayı düzenlemek kötü fikir

Bir temayı doğrudan düzenlemek ilk anda işe yarar. Girersin, bir satır CSS değiştirirsin, site de anında değişir. Ama ilk güncellemede tüm emeğin silinir. Tema geliştiricileri boş durmaz; güvenlik açıklarını kapatmak, yeni WordPress sürümleriyle uyumu sağlamak ve özellik eklemek için düzenli güncelleme yayınlar.

Burada bir ikilem doğar. Güncellemeyi yapmazsan site güvenlik açığı taşır ve zamanla bozulur. Yaparsan da bütün değişikliklerin gider. Çoğu kişi bu yüzden güncellemeyi erteler, bu da siteyi savunmasız bırakır. Çocuk tema bu ikilemi tamamen ortadan kaldırır: hem güncelleme alırsın hem kendi kodun yerinde kalır. Yani güvenlikten ödün vermeden siteyi istediğin gibi özelleştirirsin.

Ne zaman gerekir, ne zaman gereksiz

Her sitede çocuk tema gerekmez. Gerekip gerekmediğini anlamak için şu soruyu sor: tema dosyalarına kod ekleyecek miyim?

Temanın CSS kodunu elle değiştirecek, functions.php dosyasına kod ekleyecek ya da bir şablon dosyasını özelleştireceksen çocuk tema şart. Örneğin başlığın altına özel bir uyarı çıkarmak, belirli bir sayfada farklı bir düzen kullanmak ya da temanın varsayılan bir davranışını değiştirmek istiyorsan kod yazman gerekir ve bu kod çocuk temada durmalı.

Ama sadece panelden renk, yazı tipi ve logo ayarlıyorsan çocuk temaya gerek yok; o ayarlar zaten veritabanında saklanır ve güncellemeden hiç etkilenmez. Aynı şekilde Elementor gibi bir sayfa oluşturucuyla tasarım yapıyorsan, tasarımın veritabanında tutulur ve tema güncellemesi ona dokunmaz. Bu durumlarda çocuk tema kurmak gereksiz bir katman olur.

İki dosyayla kurulum

Çocuk tema kurmak sandığından kolay, sadece iki dosya yetiyor. Önce bir FTP programı ya da hosting dosya yöneticisiyle wp-content/themes klasörüne gir ve yeni bir klasör aç. Ana temanın adı gerold ise klasörü gerold-child yap. İsim serbest ama anlaşılır olsun.

Bu klasörün içine style.css adında bir dosya oluştur ve başına şu başlığı yaz:

/*
Theme Name: Gerold Child
Template: gerold
*/

Buradaki Template satırı en kritik yer. Değeri ana temanın klasör adıyla birebir aynı olmalı; büyük harf, küçük harf, tire, hepsi tam uymalı. Ana temanın klasörü gerold ise buraya gerold yazarsın. Yanlış yazarsan çocuk tema ana temayı bulamaz ve site bozulur.

Sonra aynı klasöre functions.php adında ikinci bir dosya ekle ve ana temanın stilini yükle:

<?php
add_action('wp_enqueue_scripts', function() {
  wp_enqueue_style('parent-style', get_template_directory_uri() . '/style.css');
});

Eskiden bu iş için style.css içinde @import kullanılırdı. Artık önerilmiyor, çünkü stili iki kez ve sırayla yüklediği için sayfayı yavaşlatıyor. Yukarıdaki wp_enqueue_style yöntemi bugünün doğru yolu.

Etkinleştirme

İki dosya hazır olunca panelden Görünüm, Temalar yoluna gir. Çocuk temayı listede görürsün, üzerine gelip etkinleştir. Site birebir aynı görünür, çünkü tüm tasarımı ana temadan alır. Hiçbir şey değişmemiş gibi durması normaldir ve istediğimiz de budur.

Artık style.css dosyasına yazdığın her CSS kuralı ana temanın üstüne biner ve güncellemelerde silinmez. functions.php dosyasına eklediğin kodlar da öyle.

Şablon dosyalarını değiştirmek

Sadece CSS değil, bir şablonun yapısını da değiştirmek istersen yöntem şu: ana temadaki o dosyayı, aynı yol yapısını koruyarak çocuk tema klasörüne kopyala. Örneğin ana temadaki footer.php dosyasını çocuk temaya kopyalarsan, WordPress artık footer için çocuk temadaki dosyayı kullanır. Böylece orijinal dosyaya dokunmadan footer’ı istediğin gibi düzenlersin. Bir alt klasördeki dosyayı değiştireceksen o klasör yapısını da birebir kurman gerekir.

Sık yapılan hatalar

En sık hata Template satırını yanlış yazmak; bir harf bile tutmazsa çalışmaz. İkinci sık hata, çocuk temayı kurup ana temayı silmek. Ana tema olmadan çocuk tema çalışmaz, ikisi birlikte durmalı; ana temayı güncelleyebilirsin ama silemezsin. Üçüncüsü, functions.php içine açılış etiketi <?php koymayı unutmak ya da kapanışta gereksiz boşluk bırakmak, ki bu da beyaz ekrana yol açar.

Bir de şunu unutma: bazı premium temalar kendi hazır çocuk tema paketini sunar. Hazır bir tema kuruyorsan önce temanın belgelerine bak; hazır bir çocuk tema varsa onu indirip kullanmak en temizi.

Küçük bir düzeltme için bile bu alışkanlığı edin. Bir satır CSS için çocuk tema kurmak ilk başta fazla iş gibi gelebilir, ama bir yıl sonra temayı güncellediğinde ve her şey yerinde durduğunda kendine teşekkür edersin.

İlgili Rehberler

Bu konunun tüm rehberi: WordPress Rehberi

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

WhatsApp