Perşembe , 20 Eylül 2018
Güncel
Anasayfa / Yazılım / Wordpress / WordPress Child Tema Nedir ?

WordPress Child Tema Nedir ?

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.

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.

  1. 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).
  2. Aşağıdaki kodu style.css adıyla kaydedin ve oluşturduğunuz yeni klasöre taşıyın.
  3. Daha sonra Görünüm’e gelin ve yeni temanız olan twentyeleven-child’ı aktif edin.

Şimdi yukarıdaki kod basamak basamak nasıl çalışıyor onu görelim.

  1. /* ile çocuk temanın header bilgilerini açar.
  2. Theme Name: ile çocuk temanın ismini okur.
  3. Description: temayı tanımını okur. (İsterseniz bu satırı silebilirsiniz.)
  4. Author: tema yazarı bilgisini okur. (İsterseniz bu satırı silebilirsiniz.)
  5. Template: çocuk temanın ebeveynini okur. Yani ana temayı okur.
  6. */ ile çocuk temanın header bilgisi kapatır.
  7. @import ile parent temanın style dosyasını çeker.
  8. #site-title ile çağırmış olduğunu parent tema style'da bulunan site-title'ı okumaz. Onun yerine sizin yazmış olduğunuz kodu okur.
  1. 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.

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.

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

veya

ş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

Cihan KÜSMEZ Kimdir ?

Makalelerinin Toplam Okunma Sayısı: 2.332.705


2002 yılında başladığım yazı hayatıma ilk önce 2007 yılında blogspot ile devam ederken daha sonra 2009 yılında Wordpress ile devam ettim. 2009'dan bu yana Cihan Blog'ta yazmaktayım. Yazılım, Diziler ve Sosyal Medya ağırlıklı yazıların yanı sıra güncel konular ile ilgili yazılar da yazmaktayım.