WordPress blogumda default temada değişiklik yaptığımda en korktuğum şey WordPress’in bir güncelleme çıkarmasıydı. Çünkü her güncellemede tek tek tema güncellemerini eski haline getirmem gerekiyordu. Bu da beni güncelleme yapmaktan soğutuyordu.
WordPress bunu düşünmüş olacak ki bizim için Child Tema olayını gündeme getirmişler. Aslında çok yeni değil bu. Fakat ben yeni keşfettim o kadar. Baktım internette child tema (çocuk tema) hakkında Türkçe pek bir kaynak yok. Ben de WordPress Codex’ten baktım ve sizin için de çevirdim. (Bkz: WordPress Codex – Child Themes)
Örnek olarak twenty eleven için bir child tema yapacaksınız diyelim. Bunun için size gerekli olan şey twenty eleven klasörünüzün bulunduğu yerde (wp-content >> themes >> twentyeleven ) child tema klasörünüzün bulunmasıdır. Child tema klasörü herhangi bir isim olabilir. Ama biz bunu gelin akılda kalıcı bir şekilde twentyeleven-child şeklinde yapalım. Hem isim sıralamasından orjinal tema ile alt alta gelir.
Child Tema klasörünüz içinde bulunması zorunlu tek dosya style.css dosyasıdır ve adı da style.css olması zorunludur. Bu noktaya lütfen dikkat edelim.
WordPress’in child temayı yorumlayabilmesi için (yani temanın parent temaya ait bir child tema olduğunu anlayabilmesi için) header bilgilerine ihtiyaç vardır. Bu bilgiler child temadaki style.css dosyasının en üstüne yazılır.
/* Theme Name: Twenty Eleven Child Theme URI: http: //cihankusmez.com/ Description: Child theme for the Twenty Eleven theme Author: Your name here Author URI: http://www.cihankusmez.com/author/admin Template: twentyeleven Version: 0.1.0 */
Burada önemli olan yerler Theme Name ve Template ‘dir. Template alanı direk olarak parent tema klasörünüz ile aynı isimde olmalıdır. Büyük küçük harf duyarlıdır. Theme Name olarak da Parent Name Child şeklinde yazabilirsiniz.
Temel Çocuk Tema Örneği
Mesela varsayılan temamız olan twenty eleven’da site başlığı haricinde her şeyi sevdiniz ve site başlığının rengini siyahtan yeşile çevirmek istediniz. 3 basamakta bu sorunu çözebilirsiniz.
- wp-content/themes altında bir klasör oluşturun ve twentyeleven-child olarak adlandırın. (ya da istediğiniz herhangi bir isim de olabilir).
- Aşağıdaki kodu style.css adıyla kaydedin ve oluşturduğunuz yeni klasöre taşıyın.
- Daha sonra Görünüm’e gelin ve yeni temanız olan twentyeleven-child’ı aktif edin.
/*
Theme Name: Twentyeleven Child
Description: Child theme for the twentyeleven theme
Author: Your name here
Template: twentyeleven
*/
@import url("../twentyeleven/style.css");
#site-title a {
color: #009900;
}
Şimdi yukarıdaki kod basamak basamak nasıl çalışıyor onu görelim.
/*ile çocuk temanın header bilgilerini açar.Theme Name:ile çocuk temanın ismini okur.Description:temayı tanımını okur. (İsterseniz bu satırı silebilirsiniz.)Author:tema yazarı bilgisini okur. (İsterseniz bu satırı silebilirsiniz.)Template:çocuk temanın ebeveynini okur. Yani ana temayı okur.*/ile çocuk temanın header bilgisi kapatır.@importile parent temanın style dosyasını çeker.#site-title ile çağırmış olduğunu parent tema style'da bulunan site-title'ı okumaz. Onun yerine sizin yazmış olduğunuz kodu okur.
7. basamakta okuduğunuz @import olayını uygulamayı sakın unutmayınız. Aksi halde parent tema css bilgilerini çekmedi için şablonunuz dağılır.
Child temanın aynı zamanda rtl (right-to-left) desteği de vardır. Yani arapça gibi sağdan sola yazılan diller için sitenin bu şekilde düzenlemesi gerekir. Child tema bu desteği de verir. Bunun için şunu yapabiliriz.
/*
Theme Name: Twenty Eleven Child
Template: twentyeleven
*/
@import url("../twentyeleven/rtl.css");
Bu şekilde parent temanızın rtl.css dosyasını çekebilirsiniz. Eğer parent temanızın rtl.css dosyası yoksa child temanızda oluşturabilirsiniz.
Önemli: Twenty Eleven temada link rengi ve koyu renk tema desteği child temanızdan sonra okunduğu için bazı renkler değişiklik gösterebilir. Bunu tamamen ortadan kaldırmak için css’in !important özelliğini kullanabilirsiniz.
/*
Theme Name: Twenty Eleven Child
Description: Child theme for the Twenty Eleven theme
Author: Your name here
Template: twentyeleven
*/
@import url("../twentyeleven/style.css");
/* This will override site title color even on the dark theme */
#site-title a {
color: #009900 !important;
}
/* This will override the changed link color */
#site-title a:focus,
#site-title a:hover,
#site-title a:active {
color: #009900 !important;
}
functions.php Dosyasını Kullanmak
Child temanın en güzel özelliklerinden birisi de size özel bir functions.php dosyası oluşturabilmeniz. Mesela siz kendinize ait bir adsense kodu yazdınız diyelim. 6 farklı için ölçü kod yazdınız ve switch yapısıyla ilişkili olanı çekiyorsunuz diyelim.
Temanızda bir yerde
<?php adsense("250x250"); ?>
veya
<?php adsense("728x90"); ?>
şeklinde kullanıyorsunuz. Bir güncelleme yapıldığında direk olarak bu fonksiyonlar geçersiz kalacaktır. Hatta fonksiyon tanınmadığı için wordpress sayfalarınız açılmayacaktır.
Kendi yazdığınız functions.php dosyasını tanıtmaya gerek yok. child tema klasörünüzde bulunması yeterlidir.
Ayrıca diğer tema dosyalarınızı da düzenleyecekseniz editleme yapabilirsiniz.

Sormak istediğiniz sorular olursa buradan sorularınızı sorabilirsiniz. Sorularınızı seve seve cevaplarım.
Bu yazı 4 saatte tamamlanmıştır. İnşaallah bir teşekkürü çok görmezsiniz. Olumlu / Olumsuz yorumlarınızı ve sorularınızı bekliyoruz.
Saygılarımla,
Cihan KÜSMEZ
Bu yazıyı Google'da nasıl bulabilirim ?
- child theme nedir (8)
- wordpress child theme (5)
- wordpress çocuk temaları (4)
- wordpress çocuk teması (4)
- child tema nedir (3)
- child theme (3)
- wordpress child tema (3)
- tema nedir yazı ve resim (2)
- wordpress child theme nedir (2)
- wordpress çocuk tema (2)
![]() |
||||
| Bu Yazıyı Beğendiniz mi ? | ||||
| Tweet |
|
|
||



Pingback: Wordpress Twenty Eleven’da Sayfalandırma | Cihan KÜSMEZ Blog
Evet gerçekten emek verilmiş…
pek fazla anlamadığım için bir okuduğum ve anladığım kadarıyla bir soru sorayım…
wordpress güncellemeleri için wordpress orjinal tema üzerinde değişiklik yapmak
daha sonra gelen güncellemelerde hata olasılığın azaltıyor, yani, galiba..
anladığım bu…
tam olarak değil, şöyle normalde child tema kullanılmasa direk olarak siz düzenleme yaparsanız güncelleme geldiğinde tüm yaptığınız değişiklikler silinir. Sil baştan düzenleme yaparsınız. Fakat child temaya girerseniz güncelleme gelse bile bir değişim olmadan güncelleme yaparsınız.
Güzel anlatım. Yeni başlamış biri olarak işime yarayacak bir bilgi.
Teşekkürler
sağolun mert bey, anlamadığınız bir yer olursa da seve seve yardımcı olurum. İyi çalışmalar size de…
faydalı bir yazı, teşekkür ederim.
Bununla ilgili bir Türkçe kaynağa ihtiyaç vardı. Çok faydalı olmuş. Elinize sağlık.
teşekkürler.
arkadaslar öncelikle hepinize merhabalar benim sorum biraz farklı olcak wordpressle çalısmaya yeni basladım sorum normalde butun işlemleri localdemi yapıyoruz yoksa hostamı ben suanda herhangi bi hosting kullanmıyorum sadece wamp serverla çalışıyorum gercek senaryo nasıl acaba…
Her yazılımda localde çalışmak iyidir. Çünkü sizin sitenize ziyaretçiler girerken siteniz üzerinde değişiklik yapmak uygun değildir. O esnada tasarım hataları, kodlama hataları, database hatası veya çeşitli hatalar meydana gelebilir. Bu size ziyaretçi ve reklam gideri kaybı olarak döner.
Mesela bir plugin deneyecekseniz localde denemekte fayda var. Fakat localde deneyip sonra upload çoğu kişiye zor geldiği için direk host üzerinde yaparlar. Ama büyük siteler, büyük bloglar localde çalışıp denemelerini bitirdikten sonra hostinge upload ederler.