WordPress, yazılım ve IT üzerine notlar
Anasayfa » WordPress » WordPress alt tema (child theme): Tema güncellemesinde değişikliklerinizi kaybetmeyin

WordPress alt tema (child theme): Tema güncellemesinde değişikliklerinizi kaybetmeyin

İçindekiler
  1. Alt tema nedir?
  2. Alt tema oluşturmak
  3. Neleri değiştirebilirsiniz?
  4. Dikkat edilecekler
  5. Blok temalarda durum

WordPress sitelerinde en sık duyduğum şikâyetlerden biri şudur: "Temayı güncelledim, bütün değişikliklerim gitti." Sebebi basittir. Tema güncellendiğinde WordPress temanın klasörünü yeni sürümle tamamen değiştirir. Temanın dosyalarına doğrudan eklediğiniz her satır da o klasörle birlikte silinir.

Alt tema (child theme) bu sorunun standart çözümüdür.

Alt tema nedir?

Alt tema, başka bir temanın (ana tema, parent theme) üzerine kurulan küçük bir temadır. WordPress önce alt temanın dosyalarına bakar. Aradığı dosya orada yoksa ana temadakini kullanır. Böylece yalnızca değiştirmek istediğiniz dosyaları alt temaya koyarsınız, geri kalan her şey ana temadan gelir.

Ana tema güncellendiğinde alt temaya dokunulmaz. Değişiklikleriniz korunur, ana temanın güvenlik ve hata düzeltmeleri de size ulaşır.

Alt tema oluşturmak

Diyelim ki ana temanızın klasör adı kurumsal. wp-content/themes/ altında yeni bir klasör açın: kurumsal-child.

1. style.css

/*
Theme Name: Kurumsal Child
Template:   kurumsal
Version:    1.0
*/

En önemli satır Template: satırıdır. Buraya ana temanın görünen adı değil, klasör adı yazılır. Yanlış yazılırsa WordPress alt temayı "bozuk" olarak gösterir.

2. functions.php

<?php
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'kurumsal-child',
        get_stylesheet_uri(),
        [],
        wp_get_theme()->get( 'Version' )
    );
} );

Eskiden alt temanın içinden ana temanın stil dosyasını da elle yüklemek gerekirdi. Günümüzde iyi yazılmış temaların çoğu kendi stilini zaten yükler. Siteyi açtığınızda ana temanın stilleri eksikse, aynı fonksiyona ana temanın stilini de ekleyin:

wp_enqueue_style( 'kurumsal-parent', get_template_directory_uri() . '/style.css' );

İki fonksiyon arasındaki farka dikkat edin: get_template_directory_uri() ana temanın, get_stylesheet_directory_uri() ise alt temanın klasörünü verir.

3. Etkinleştirin

Görünüm → Temalar sayfasından alt temayı etkinleştirin. WP-CLI ile:

wp theme activate kurumsal-child

Not: Bazı tema ayarları (Özelleştirici'deki logo, renkler, menü konumları) temaya bağlı saklanır. Alt temaya geçtiğinizde bunları bir kez yeniden ayarlamanız gerekebilir. Bu yüzden alt temaya, sitenin ilk kurulumunda geçmek en kolayıdır.

Neleri değiştirebilirsiniz?

CSS: Alt temanın style.css dosyasına yazdığınız kurallar ana temanın stillerinden sonra yüklenir ve onları geçersiz kılar.

Şablon dosyaları: Ana temadaki footer.php dosyasını alt temaya kopyalayıp düzenlerseniz, WordPress artık alt temadakini kullanır. Aynı şey single.php, header.php ve template-parts/ altındaki dosyalar için de geçerlidir. Klasör yapısını korumayı unutmayın.

functions.php: Bu dosya bir istisnadır. Alt temanın functions.php dosyası ana temanınkini değiştirmez; her ikisi de yüklenir. Önce alt temanınki, sonra ana temanınki. Bu yüzden ana temada tanımlı bir fonksiyonu aynı adla yeniden tanımlamaya çalışırsanız ölümcül hata alırsınız. Ana temanın davranışını değiştirmenin doğru yolu kancaları (hook) kullanmaktır:

// Ana temanın eklediği bir eylemi kaldırmak
add_action( 'after_setup_theme', function () {
    remove_action( 'kurumsal_footer', 'kurumsal_credit_text' );
}, 20 );

Dikkat edilecekler

  • Bütün şablon dosyalarını kopyalamayın. Yalnızca değiştirdiğiniz dosyaları kopyalayın. Kopyaladığınız her dosya, ana temanın o dosyadaki güncellemelerini almaz. Ana tema bir güvenlik düzeltmesini kopyaladığınız header.php dosyasına yaptıysa, siz o düzeltmeden yararlanamazsınız.
  • Kopyaladığınız dosyaları kaydedin. Hangi dosyaları neden değiştirdiğinizi küçük bir not dosyasında tutun. Ana temanın büyük bir güncellemesinden sonra bu dosyaları karşılaştırmanız gerekebilir.
  • Basit CSS değişiklikleri için alt tema şart değil. Yalnızca birkaç satır CSS ekleyecekseniz Özelleştirici'deki "Ek CSS" alanı da güncellemelerden etkilenmez.

Blok temalarda durum

Twenty Twenty-Five gibi blok (FSE) temalarda tasarım değişikliklerinin çoğu Site Düzenleyicisi'nden yapılır ve veritabanında saklanır. Bu değişiklikler tema güncellemesinde kaybolmaz. Yine de özel kod, kendi theme.json ayarlarınız ya da şablon dosyalarınız varsa blok temalarda da alt tema kullanılabilir. Alt temadaki theme.json dosyası ana temanınkiyle birleştirilir; yalnızca değiştirmek istediğiniz ayarları yazmanız yeterlidir.

Alt tema oluşturmak beş dakikanızı alır. Karşılığında tema güncellemeleri korkulan bir olay olmaktan çıkar, tek tıkla yapılan sıradan bir işe dönüşür.

Tezcan Kabakçı
Hosting teknik destek uzmanı ve WordPress uzmanı. 2024'ten beri bir hosting şirketinde teknik destek bölümünde çalışıyor; WordPress, DNS ve e-posta sorunlarını her gün yakından görüyor. YouTube kanalı.
Bu yazı 17 Eylül 2026 tarihinde WordPress kategorisinde yayınlandı.
Yeni yazılar e-postanıza gelsin

Ayda birkaç e-posta; istediğiniz an tek tıkla ayrılabilirsiniz.

Videolu anlatımlar YouTube'da
Sunucu ve WordPress sorunlarını kısa videolarla anlattığım kanala abone olabilirsiniz. ▶ Kanala abone ol

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorumlar onaylandıktan sonra yayımlanır. Bağlantı içeren yorumlar spam olarak değerlendirilebilir.