Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
WordPress child tema, başka bir temayı parent tema olarak kullanan ve onun dosyalarını doğrudan değiştirmeden özelleştirme yapmanızı sağlayan ayrı bir temadır. Parent tema güncellendiğinde, child temadaki değişiklikler korunur. Ancak child tema parent temanın bağımsız bir kopyası değildir; çalışabilmesi için parent temanın kurulu olması gerekir.

Child tema özellikle tema dosyalarında kod değişikliği, özel CSS, şablon düzenlemesi veya temaya bağlı PHP işlevleri eklemek istediğinizde kullanılır. WordPress yöneticisindeki Görünüm > Temalar ekranından child temayı etkinleştirdiğinizde, görünümün temelini parent temadan alır ve child temadaki dosyaları öncelikli kullanır.

Nasıl çalışır?​


Child tema klasöründe parent temayı belirten bir Template satırı bulunur. Bu değer, parent temanın klasör adıyla aynı olmalıdır. Child temada parent temadaki bir şablon dosyasıyla aynı ada sahip bir dosya varsa, WordPress genellikle child temadaki dosyayı kullanır.

Örneğin parent temanın klasörü parent-theme ise, child tema klasörü parent-theme-child olabilir. Klasik tema örneğinde child temaya single.php koyarsanız, tekil yazı görünümünde parent temadaki single.php yerine bu dosya kullanılabilir. Fakat parent temadaki her dosya otomatik olarak child tema klasörüne kopyalanmaz; yalnızca değiştireceğiniz dosyaları eklemeniz gerekir.

En küçük çalışan child tema örneği​


Bu örnek, iki style.css dosyasını kendiliğinden yüklemeyen varsayımsal bir klasik parent tema içindir. Parent zaten birini veya ikisini yüklüyorsa aynı dosyayı ikinci kez kuyruğa eklemeyin; gerçek stil tanıtıcılarını ve bağımlılık sırasını kullanın. Block temalar theme.json ve HTML şablonlarıyla farklı bir özelleştirme akışı kullanabilir.

Aşağıdaki örnekte varsayımsal parent tema klasörü parent-theme olarak kabul edilmiştir. Gerçek parent klasör adını, wp-content/themes/ altındaki klasör adına göre değiştirin.

  1. wp-content/themes/parent-theme-child/ klasörünü oluşturun.
  2. Bu klasörde style.css dosyasını oluşturup aşağıdaki içeriği ekleyin:
    Kod:
    /*
    Theme Name: Parent Theme Child
    Template: parent-theme
    */
    
    body {
        background-color: #f5f5f5;
    }
  3. Aynı klasörde functions.php dosyasını oluşturun ve gerekli parent ve child stil dosyalarını sırayla kuyruğa ekleyin:
    Kod:
    <?php
    add_action( 'wp_enqueue_scripts', function () {
        wp_enqueue_style(
            'ornek-parent-style',
            get_template_directory_uri() . '/style.css'
        );
        wp_enqueue_style(
            'ornek-child-style',
            get_stylesheet_uri(),
            array( 'ornek-parent-style' )
        );
    }, 20 );
  4. WordPress yönetiminde child temayı etkinleştirin. Parent tema kurulu değilse önce parent temayı yükleyin; yalnızca child temayı etkinleştirmek yeterli olmaz.
  5. Sitede gövde arka planının değiştiğini kontrol edin. Değişiklik görünmüyorsa CSS önbelleğini temizleyin ve Template değerinin parent klasör adıyla birebir aynı olduğunu denetleyin.

Başarı sonucu, site parent temanın genel görünümünü korurken child temadaki CSS değişikliğini uygular. Değişiklik görünmüyorsa en olası neden yanlış parent klasör adı, child temanın etkin olmaması veya stil dosyasının parent tema tarafından farklı şekilde yüklenmesidir. Parent temanın kendi dokümantasyonu farklı bir stil yükleme yöntemi öneriyorsa o yöntemi izlemek gerekir.

Hangi dosya nereye konur?​


Child temada yalnızca gerçekten değiştireceğiniz dosyaları tutun. Karar vermeyi kolaylaştıran temel ayrım şöyledir:

İhtiyaçChild temada yapılacak işlemÖnemli sonuç
Renk, boşluk veya yazı biçimiCSS dosyasına kural ekleyinParent tema dosyası değiştirilmez
Tekil yazı veya sayfa şablonuİlgili şablonu child temaya kopyalayıp düzenleyinParent tema güncellenirken kopya otomatik yenilenmez
PHP işlevi veya filtreChild temanın functions.php dosyasına ekleyinİki functions.php de yüklenir; child önce çalışır
Tema ayarlarıÖnce temanın desteklediği ayar veya hook yöntemini kullanınGereksiz şablon kopyalamaktan kaçınılır

Sık yapılan hatalar​


Parent temayı doğrudan düzenlemek: Hızlı görünse de tema güncellendiğinde değişiklikler silinebilir. Kalıcı kod ve stil değişikliklerini child temaya taşıyın.

Child temayı parent temanın tam yedeği sanmak: Child tema yalnızca eklediğiniz veya üzerine yazdığınız dosyaları içerir. Parent tema silinir ya da uyumsuz hale gelirse child tema tek başına çalışmaz.

Yanlış Template değeri kullanmak: Bu değer tema adını değil, parent temanın klasör adını ifade eder. Büyük-küçük harf ve tire farkları da sorun çıkarabilir.

functions.php dosyasını kopyalamak: Parent temanın functions.php dosyasını child temaya kopyalamayın. Child temanın dosyası parent dosyasının yerine geçmez ve aynı kodları kopyalamak çakışma veya yinelenen işlev hatalarına yol açabilir.

Şablon kopyasını güncellememek: Parent temadan kopyalanan bir şablon, parent tema güncellense bile child temada eski haliyle kalır. Güncelleme sonrasında ilgili şablon değişikliklerini karşılaştırarak uyarlayın.

Sık sorulan sorular​


Child tema kurmak mevcut tema ayarlarını siler mi?​


Child temayı etkinleştirmek bazı tema ayarlarının ayrı bir tema kimliğiyle tutulmasına neden olabilir. Etkinleştirmeden önce özelleştirici ayarlarını ve widget yerleşimlerini not etmek, beklenmeyen görünüm farklarını daha kolay geri almanızı sağlar.

Her WordPress sitesinde child tema gerekli mi?​


Hayır. Yalnızca tema dosyasında kalıcı kod veya stil değişikliği yapacaksanız anlamlıdır. Sadece içerik, menü, widget veya temanın sunduğu ayarlar kullanılacaksa child tema oluşturmak zorunlu değildir.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic