WordPress tema geliştirme, WordPress’in şablon sistemini ve sayfa üretim mantığını anlamanın en iyi yollarından biridir. Bu yazıda WordPress tema nasıl yapılır? sorusunu; temel dosya yapısı, template mantığı ve adım adım kod örnekleri üzerinden ilerleyerek anlatacağım.
Anlatım, temanın temel yapı taşlarını öğrenmeye odaklanır; örnekler bu nedenle sade tutulmuştur. İleri seviye mimari yaklaşımlar ve büyük ölçek optimizasyonlar ayrı bir konu başlığı olarak ayrıca ele alınabilir.
WordPress Tema Geliştirme Nedir?
WordPress tema geliştirme, WordPress çekirdeği üzerinde çalışan bir web sitesinin tasarım ve sayfa şablonlarının kodlanması sürecidir. Tema, sitenin nasıl görüneceğini belirler; içerik yönetimi WordPress tarafından sağlanır.
WordPress Tema Mantığı Nasıl Çalışır?
WordPress’te tema, veritabanındaki içerikleri alır ve PHP şablon dosyaları aracılığıyla kullanıcıya sunar. Bu yapı sayesinde:
- İçerik ve tasarım birbirinden ayrılır
- Tema değişse bile içerikler korunur
- Aynı içerik farklı tasarımlarla gösterilebilir
Tema ile Eklenti Arasındaki Fark
- Tema: Görünüm ve şablon yapısı
- Eklenti: İşlev ve özellik kazandırma
Tema mümkün olduğunca “sunum katmanı” olarak düşünülmelidir. Form işleme, veri doğrulama veya özel iş akışları gibi fonksiyonlar eklenti/özel yapı üzerinden yürütüldüğünde bakım ve taşınabilirlik daha sağlıklı olur.
Özel WordPress Tema Yapmanın Diğer Temalara Göre Avantajları Nelerdir?

Bu bölümde “özel tema” kavramını öğrenme perspektifiyle ele alıyoruz. Hazır temalar farklı senaryolara göre geliştirildiği için çoğu zaman ekstra dosyalar ve özelliklerle gelir. Sıfırdan tema geliştirirken amaç, minimum dosyayla mantığı görmek ve WordPress’in şablon yaklaşımını netleştirmektir.
Özel WordPress tema geliştirmenin sık görülen avantajları:
- Gereksiz yük olmadan sade ve hızlı bir yapı kurma imkânı
- Tasarım, içerik düzeni ve bileşenler üzerinde tam kontrol
- Projeye göre optimize edilmiş daha temiz HTML/CSS yapısı
- Uzun vadede bakım, genişletme ve güncelleme tarafında daha yönetilebilir altyapı
- Hedef kitleye göre kullanıcı deneyimini net biçimde tasarlama
Tema yapısı yalnızca görünüm değil; sayfa düzeni, okunabilirlik ve içerik akışını da etkiler. İstersen tasarım tarafındaki temel kavramlar için UX giriş yazısına da göz atabilirsin.
WordPress Tema Yapımı İçin Gerekenler
Gerekli Teknik Bilgiler
WordPress tema geliştirmek için aşağıdaki teknolojilere temel seviyede hakim olmak yeterlidir:
- HTML (sayfa iskeleti) — temeli için: HTML dünyasına giriş
- CSS (tasarım ve stil) — temeli için: CSS nedir ve neden kullanılır?
- PHP (dinamik yapı; en azından çıktı alma, koşul, döngü)
- WordPress template mantığı (dosya önceliği / hiyerarşi)
Geliştirme Ortamının Hazırlanması
Tema geliştirme işlemleri genellikle yerel sunucu üzerinde yapılır. Bunun için XAMPP, Laragon veya WampServer gibi araçlar kullanılabilir. Yerel ortam kurulduktan sonra WordPress yüklenir ve tema klasörü oluşturulur.
İpucu: Yerelde geliştirme yapmak, canlı siteyi riske atmadan test/geri alma kolaylığı sağlar.
WordPress Tema Dosya Yapısı Nasıl Olur?
WordPress, temaları belirli dosya yapısına göre algılar.
Temel Tema Dosyaları
Bir WordPress temasının çalışabilmesi için en az şu dosyalar bulunmalıdır:
- style.css
- index.php
- header.php
- footer.php
- functions.php
Tema yapısını daha geniş anlamda kavramak için, WordPress’in ne olduğu ve neler yapabildiğini anlatan temel içerik de iyi bir başlangıçtır: WordPress Nedir? WordPress ile Neler Yapılabilir?
Adım Adım WordPress Tema Yapımı (Kodlu Örnekler)
Bu bölümde, sıfırdan WordPress tema oluşturma mantığı temel seviyede ve adım adım anlatılmaktadır.
Adım 1: Tema Klasörünü Oluşturma
WordPress kurulum dizininde şu yolu izleyin:
/wp-content/themes/
Bu klasör içinde yeni bir klasör oluşturun:
ornek-tema
Adım 2: style.css Dosyasını Oluşturma
Tema klasörü içine style.css dosyası ekleyin ve aşağıdaki bilgileri yazın:
/*
Theme Name: Ornek Tema
Theme URI: https://www.siteadi.com
Author: Site Adı
Author URI: https://www.siteadi.com
Description: Öğrenme amaçlı örnek WordPress teması
Version: 1.0
*/
WordPress, temayı yönetim panelinde tanımak için bu dosyadaki başlık bilgilerini okur.
Adım 3: index.php Dosyasını Oluşturma (En Temel Loop)
Tema klasörüne index.php dosyasını ekleyin:
<?php get_header(); ?>
<main>
<h2><?php bloginfo('name'); ?></h2>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<article>
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
</article>
<?php endwhile; else: ?>
<p>İçerik bulunamadı.</p>
<?php endif; ?>
</main>
<?php get_footer(); ?>
Bu dosya, WordPress’in temel içerik döngüsünü (loop) çalıştırır.
Adım 4: header.php Dosyasını Oluşturma
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo('charset'); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<header>
<nav>
<a href="<?php echo esc_url( home_url('/') ); ?>">
<?php bloginfo('name'); ?>
</a>
</nav>
</header>
Not:
esc_url()gibi kaçış fonksiyonları (escaping) güvenlik için iyi pratiktir.
Adım 5: footer.php Dosyasını Oluşturma
<footer>
<p>© <?php echo date('Y'); ?> <?php bloginfo('name'); ?></p>
</footer>
<?php wp_footer(); ?>
</body>
</html>
wp_footer() birçok eklenti ve script’in düzgün çalışması için kritiktir.
Adım 6: functions.php Dosyasını Oluşturma (Tema Yetkinlikleri)
<?php
function ornek_tema_ayarlar() {
add_theme_support('title-tag');
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'ornek_tema_ayarlar');
Bu dosya, temanın temel özelliklerini tanımlar.
Ek Örnek 1: CSS ve JS Dosyalarını Doğru Şekilde Çağırma (enqueue)
Tema geliştirirken CSS/JS dosyalarını doğrudan header.php içine gömmek yerine WordPress’in wp_enqueue_* yapısını kullanmak en sağlıklısıdır.
functions.php içine ekleyebilirsin:
<?php
function ornek_tema_assets() {
wp_enqueue_style(
'ornek-tema-style',
get_stylesheet_uri(),
array(),
'1.0'
);
wp_enqueue_script(
'ornek-tema-script',
get_template_directory_uri() . '/assets/app.js',
array(),
'1.0',
true
);
}
add_action('wp_enqueue_scripts', 'ornek_tema_assets');
Bu yöntem performans ve yönetilebilirlik sağlar.
Ek Örnek 2: Menü Oluşturma ve Temaya Bağlama
Basit bir menü kaydı için functions.php:
<?php
function ornek_tema_menuler() {
register_nav_menus(array(
'ana-menu' => 'Ana Menü'
));
}
add_action('after_setup_theme', 'ornek_tema_menuler');
Ardından header.php içinde menüyü çağırma:
<?php
wp_nav_menu(array(
'theme_location' => 'ana-menu',
'container' => false
));
?>
WordPress Template Hiyerarşisi Nasıl Çalışır?
WordPress, sayfa türüne göre otomatik olarak şu dosyaları çağırır:
- Ana sayfa → front-page.php
- Sabit sayfa → page.php
- Blog yazısı → single.php
- Blog listesi → archive.php
Bu dosyalar oluşturulmadığında WordPress, index.php dosyasına geri döner.
Template hiyerarşisini kavradığında, WordPress’in hangi durumda hangi dosyayı çağırdığını hızlıca çözersin. Bu da sayfa türlerine göre daha kontrollü şablonlar yazmayı kolaylaştırır.
Tasarımdan WordPress Temaya Geçiş Mantığı
Öğrenme sürecinde en kritik adım “statik tasarımı dinamik hale getirmek”tir. Genellikle şu akışla ilerlenir:
- HTML tasarım hazırlanır (header / footer / içerik alanları ayrılır)
- Ortak alanlar
header.phpvefooter.phpyapılır - İçerik kısmı loop ile dinamikleştirilir
- Sayfa türlerine göre şablonlar eklenir (page, single, archive)
Bu yaklaşım, responsive tasarımla birleştiğinde ortaya çok daha tutarlı bir deneyim çıkar. Responsive temeli için: Mobil uyumlu responsive tasarım
WordPress Tema Geliştirirken Dikkat Edilmesi Gerekenler
Performans
- Gereksiz dosya yüklemelerinden kaçınılmalıdır
- Sadece gerekli sayfalarda gerekli dosyalar yüklenmelidir
- Görsellerin optimizasyonu, tema performansını doğrudan etkiler
- Büyük projelerde statik dosyaların daha hızlı sunulması için CDN gibi çözümler tercih edilebilir. Bu konu, tema geliştirme sürecinden ayrı bir performans başlığı olarak ayrıca incelenebilir.
Semantik HTML ve Başlık Düzeni
- Semantik HTML etiketleri kullan
- Başlık hiyerarşisini koru (H1 tek, H2/H3 düzenli)
- Navigasyon ve breadcrumb gibi yapıları anlaşılır tut
Güvenlik
- Bilinmeyen kaynaklardan kod eklenmemelidir
- Çıktılar
esc_html(),esc_url()gibi fonksiyonlarla güvenli yazdırılmalıdır - Kullanıcı girdileri
sanitize_text_field()vb. ile temizlenmelidir - WordPress tarafında güvenlik kadar, sitenin erişim ve tarama davranışını kontrol eden temel dosyalar da önemlidir. İstersen robots.txt hakkında temel bilgileri ayrıca inceleyebilirsin.
WordPress Tema Yapımı Kimler İçin Uygundur?

Öğrenme Amaçlı
- WordPress mantığını öğrenmek isteyenler
- HTML / CSS bilgisini geliştirmek isteyenler
- Kişisel veya deneme projeleri yapanlar
Geliştiriciler İçin
- Kendi tema altyapısını oluşturmak isteyenler
- Performans ve kontrol isteyenler
- Deneysel projeler üretenler
Öğrenme Amaçlı Tema Geliştirme ile Gerçek Proje İhtiyaçları Arasındaki Fark
Öğrenme Amaçlı Tema Geliştirme
- Eğitim ve deneme odaklıdır
- Küçük ölçekli projeler için uygundur
Gerçek Proje Notları (Kısa)
- Gerçek projelerde tema geliştirme; yalnızca şablon yazmaktan öte bakım, güncelleme ve sürdürülebilirlik gibi başlıkları da kapsar. Bu rehber ise temeli netleştirmek için minimum yapı üzerinden ilerler. İleri seviyede proje ölçeğine göre farklı yaklaşımlar gerekebilir.
Bu rehberde anlatılan temel yapı, öğrenme ve deneme amaçlı WordPress projelerinde aynı mantıkla uygulanabilir.
Referans Kaynaklar (Resmi Dökümantasyon)
WordPress tema yapısı site hızı ve okunabilirliği nasıl etkiler?
Tema yapısı; site hızı, başlık düzeni ve HTML çıktısını doğrudan etkiler. Ancak sonuçlar yalnızca temaya bağlı değildir; içerik kalitesi, sayfa yapısı ve teknik kontroller gibi birçok bileşen birlikte çalışır.
Kod bilmeden WordPress tema yapılabilir mi?
Kod bilmeden sayfa oluşturucularla “tema benzeri” tasarımlar yapılabilir; fakat bu, gerçek anlamda tema geliştirme süreci değildir. Tema geliştirme; template mantığını, dosya yapısını ve WordPress fonksiyonlarını bilmeyi gerektirir.
WordPress tema geliştirme ne kadar sürede öğrenilir?
Temel seviye bir tema yapısını birkaç hafta içinde kavramak mümkündür. Ancak temiz kod, güvenlik, performans ve bakım gibi konular eklendikçe süre deneyime bağlı olarak uzar.
WordPress child theme (alt tema) nedir, ne zaman kullanılmalı?
Child theme (alt tema), mevcut bir temanın güncellenmesi sırasında yaptığınız değişikliklerin kaybolmaması için kullanılan yöntemdir. Küçük tasarım düzenlemeleri veya belirli şablon dosyalarında kontrollü değişiklikler yapılacaksa child theme tercih edilir. Sıfırdan öğrenme ve iskelet kurma amacı varsa, rehberdeki gibi temel bir tema yapısı oluşturmak daha öğreticidir.
Tema geliştirirken site hızını (Lighthouse / PageSpeed) en çok ne etkiler?
Tema tarafında site hızını en çok etkileyen başlıklar; gereksiz CSS/JS yüklemeleri, sayfa bazlı doğru “enqueue” yapılmaması, ağır görseller ve fazla DOM çıktısıdır. Tema geliştirme sürecinde dosyaların gerektiği yerde yüklenmesi, görsellerin optimize edilmesi ve basit şablon yapısının korunması genellikle Lighthouse ve PageSpeed sonuçlarını belirgin şekilde iyileştirir.
