WordPress Tema Geliştirme Başlangıç Kılavuzu: Sıfırdan İlk Eserinizi Yaratın

2 dakika okuma.
2026-03-14
2026-06-06
2,021
Aşağıdaki bağlantılar üzerinden alışveriş yaptığınızda, sizin için ek bir maliyet olmadan komisyon kazanıyorum.

Geliştirme Ortamı Kurulumu ve Temel Bilgiler

WordPress tema geliştirmeye ilk adım atmak, uygun bir yerel geliştirme ortamı hazırlamaktır. Bu, sadece geliştirme verimliliğini artırmakla kalmaz, aynı zamanda test ve hata ayıklamayı da kolaylaştırır. XAMPP, MAMP veya Local by Flywheel gibi entegre ortamların kullanılması önerilir; bu ortamlar PHP, MySQL veritabanı ve Apache/Nginx sunucularını tek tıklamayla kurar ve manuel yapılandırmanın zahmetinden kaçınmanızı sağlar. Editör olarak Visual Studio Code,PhpStorm veya Sublime Text gibi araçlar mükemmel seçeneklerdir; bu araçlar PHP, HTML, CSS ve JavaScript için güzel sözdizimi vurgulamaları ve kod ipuçları sunar.

Çevrenin yanı sıra, WordPress temalarının temel yapısını anlamak da son derece önemlidir. En basit bir tema en az iki temel dosyaya ihtiyaç duyar:style.cssindex.phpHerhangi bir WordPress teması şu adreste bulunur:/wp-content/themes/Dosya dizininin içinde bulunurlar ve birbirlerinden klasör adlarıyla (yani konu tanımlayıcılarıyla) ayırt edilirler.

Konu Bilgisi Başlık Tanımı

Konuyla ilgili bilgiler şu yolla iletilir: style.css Dosyanın baş kısmındaki yorumlar, bu bloğun temanın “kimlik kartı” olduğunu belirtir. WordPress çekirdeği, bu bilgileri okuyarak temanın adını, yazarını, sürümünü ve diğer meta verilerini tanır. Tipik bir başlık bilgisi örneği aşağıdaki gibidir:

Tavsiye edilen okuma WordPress Eklenti Geliştirme Konusunda Derinlemesine Bilgi: Sıfırdan Profesyonel Genişletmeler Oluşturmaya

/*
Theme Name: 我的第一个主题
Theme URI: https://example.com/my-first-theme
Author: 你的名字
Author URI: https://example.com
Description: 这是一个用于学习WordPress主题开发的入门主题。
Version: 1.0.0
License: GPL v2 or later
Text Domain: my-first-theme
*/

Bunlar arasında,Text DomainUluslararasılaştırma (i18n) amacıyla kullanılır ve daha sonra çeviri fonksiyonları (örneğin…) gibi araçlarla birlikte kullanılır.__()_e()Belirtilmesi gereken tanımlayıcıdır.index.phpBu, temanın varsayılan giriş şablonu dosyasıdır; diğer şablon dosyaları eksik olsa bile, WordPress sayfayı renderlemek için bu dosyayı kullanır.

UltaHost WordPress Sunucusu
30 gün iade garantisi, sınırsız bant genişliği ve veritabanı kullanımı, ücretsiz DDoS koruması; 3 yıllık abonelikte indirim (50%).

Çekirdek Şablon Dosyası Yapısı

İşlevsel bir WordPress teması, “Şablon Yapısı” (Template Hierarchy) adı verilen bir dizi kurala uyar. Bu kurallar, farklı türdeki sayfa isteklerinde WordPress’in içeriği göstermek için hangi şablon dosyasını otomatik olarak seçeceğini belirler. Bu yapıyı anlamak, esnek temalar geliştirmenin anahtarıdır.

Giriş Dosyasıindex.phpŞablon hiyerarşisinin en son seviyesinde yer alır ve tüm sayfalar için varsayılan yedek olarak kullanılır. Ancak gerçek geliştirme sürecinde, özelleştirilmiş görünümler sağlamak için daha spesifik şablonlar oluştururuz. Örneğin, belirli bir makaleye erişildiğinde, WordPress öncelikle bu makaleye özel şablonu arar.single-post.phpEğer mevcut değilse, arayın.single.phpSonunda, geri alma işlemine geçiyoruz.index.php

Yaygın olarak kullanılan şablon dosyaları ve işlevleri:

* header.phpWeb sitesi başlık şablonu, genellikle şunları içerir:<!DOCTYPE html>Deklarasyon,<head>Bölgeler ve web sitesinin üst kısmındaki ortak alanlar (örneğin Logo ve ana navigasyon). Diğer şablonlarda da kullanılır.get_header()Fonksiyonun tanıtımı.
* footer.phpWeb sitesinin alt kısmı için bir şablon; telif hakkı bilgileri vb. içerir. Kullanılabilir.get_footer()Fonksiyonun tanıtımı.
* sidebar.phpSidebar şablonu. Kullanın.get_sidebar()Fonksiyonun tanıtımı.
* functions.phpBu dosya, temanın işlevsel özelliklerini içeren bir dosyadır. Bir şablon dosyası değildir; tema başlatıldığında otomatik olarak yüklenir ve temaya özel özelliklerin eklenmesi, menülerin ve kenar çubuklarının kaydedilmesi, ayrıca stillerin ve betiklerin dahil edilmesi için kullanılır.
* page.phpStatik sayfaları görüntülemek için kullanılır.
* single.phpTek bir makaleyi göstermek için kullanılır.
* archive.phpKategorileri, etiketleri, yazarları, tarihleri ve diğer arşivleme bilgilerini göstermek için kullanılır.
* front-page.phpWeb sitesinin ana sayfasını özelleştirmek için kullanılır (WordPress arayüzündeki “Ayarlar” > “Okuma” bölümünde yapılandırılmalıdır).
* style.cssKonu bilgilerini tanımlamanın yanı sıra, aynı zamanda konunun ana stil şemasıdır.

Bu modüler yapı sayesinde, geliştiriciler ortak kısımları (örneğin başlık ve alt bilgi bölümlerini) kolayca yeniden kullanabilir ve farklı sayfa türlerinde farklı tasarımlar uygulayabilirler.

Tavsiye edilen okuma Profesyonel web sitesi oluşturma rehberi: Sıfırdan bire kadar verimli ve ölçeklenebilir bir internet portalı oluşturma.

Functions.php ve Tema Özelliklerinin Geliştirilmesi

functions.phpDosyalar, WordPress’in temel işlevlerinin “beyni”dir; burada, WordPress’in çekirdek dosyalarını doğrudan değiştirmeye gerek kalmadan, kod kullanarak temel işlevleri genişletebilir veya değiştirebilirsiniz. En güçlü yanı, WordPress’in sunduğu geniş özelliklerin ve araçların kullanılabilmesidir.Action(Eylem) veFilter(Filtreler) Programın yürütme akışına müdahale etmek için kullanılan “hook” (düğüm/kancalar).

Kayıtlı konuların desteklediği özellikler:

functions.phpBurada, temanın hangi WordPress yerleşik özelliklerini desteklediğini belirtebilirsiniz. Örneğin, bir temanın makale özel görsellerini, özelleştirilebilir menülerini ve özelleştirilebilir bir logosunu desteklemesi, modern temaların temel özelliklerindendir. Bunu şu şekilde yapabilirsiniz:add_theme_support()Fonksiyon Uygulaması:

function my_theme_setup() {
    // 添加对文章特色图像(缩略图)的支持
    add_theme_support('post-thumbnails');

// 注册导航菜单位置
    register_nav_menus(array(
        'primary' => __('主导航菜单', 'my-first-theme'),
        'footer'  => __('底部菜单', 'my-first-theme'),
    ));

// 添加对自定义Logo的支持
    add_theme_support('custom-logo', array(
        'height'      => 100,
        'width'       => 400,
        'flex-height' => true,
        'flex-width'  => true,
    ));
}
add_action('after_setup_theme', 'my_theme_setup');

Yukarıdaki kodda,my_theme_setupBu, özel olarak oluşturulmuş bir fonksiyondur; bunu şu şekilde kullanıyoruz:add_action()Bunu şuraya monte edin.after_setup_themeBu eylem kancasına dikkat edin; temanın başlatılması sırasında çalıştırılmasını sağlayın.

hosting.com Paylaşımlı Barındırma
AMD EPYC CPU'lar, NVMe SSD depolama ve LiteSpeed ile yüksek performans, 7/24, 7x7 uzman şirket içi destek, SSL, kaba kuvvet, kötü amaçlı yazılım ve DDoS koruması dahil gelişmiş güvenlik önlemleri, 73%'ye kadar tasarruf

Stil ve betik dosyalarını içe aktarın.

Doğru entegrasyon yöntemi, ön uç kaynaklarının sürdürülebilirliğini ve performansını sağlamanın anahtarıdır. Bunun için şu yöntemi kullanmalısınız:wp_enqueue_style()wp_enqueue_script()Functionu oluşturun ve ardından onu monte edin.wp_enqueue_scriptsBu özellik sayesinde WordPress, bağımlılıkları yönetebilir, tekrarlanan yüklemeleri önleyebilir ve eklentilerin işlemlere müdahale etmesini kolaylaştırır.

function my_theme_scripts() {
    // 引入主样式表
    wp_enqueue_style('my-theme-style', get_stylesheet_uri());

// 引入自定义JavaScript文件
    wp_enqueue_script('my-theme-navigation', get_template_directory_uri() . '/js/navigation.js', array(), '1.0.0', true);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');

Şablon etiketleri ve döngü sistemleri

Şablon etiketleri, WordPress tema geliştirme sürecindeki temel araçlardır. Esasen PHP fonksiyonlarıdır ve şablon dosyalarında makale başlıkları, içerik, yazar, tarih gibi bilgileri dinamik olarak görüntülemek için kullanılırlar. Bu etiketler, veritabanındaki verilerin ön uç sayfalarda kolayca sunulmasını sağlar.

Ana döngünün çalışma prensibi

WordPress, veritabanından içerik çekmek için “döngüler” kullanır. Temel yapısı şu şekildedir:ifCümle, bir şeyi kapsar veya içerir.whileDöngü:

Tavsiye edilen okuma WooCommerce Özel Eklentilerini Kullanma: Başlangıçtan İleri Seviye Uygulamalara Kadar Kapsamlı Rehber

<!-- 在这里使用模板标签输出单篇文章内容 -->
        <h2><?php the_title(); ?></h2>
        <div><?php the_content(); ?></div>

have_posts()Fonksiyon, mevcut sorgunun herhangi bir makale içerip içermediğini kontrol eder. Eğer varsa, ilgili işlemlere devam edilir.whileDöngü (Loop)the_post()Bu fonksiyon, sonraki şablon etiketlerinin (örneğin…) kullanımı için gerekli olan küresel değişkenleri ve verileri ayarlamaktan sorumludur.the_title()the_content()Mevcut makalenin bilgilerini doğru bir şekilde çıkarabilmektedir.

Yaygın olarak kullanılan içerik görüntüleme etiketleri (content output tags):

* the_title()Makale/Sayfa Başlığı:
* the_content()Lütfen belirtilen içeriği sağlayın; bu sayede makalenin veya sayfanın tamamını Türkçeye çevirebilirim. İçerik metni eksik olduğu için sadece başlık veya bir kısmı çevrilebiliyor.<!--more-->Etiketler ve sayfa sayacı (pagination).
* the_excerpt()Makale özetini çıktı olarak verin.
* the_permalink()Kalıcı bağlantı adresi (permanent link), bir makale veya sayfanın internet üzerinde sürekli erişilebilir olmasını sağlayan bir bağlantıdır. Genellikle aşağıdaki durumlarda kullanılır:<a>EtiketlihrefÖzelliklerde.
* the_post_thumbnail()Makalenin öne çıkan görsellerini göster.
* the_author()the_date()the_category()“等:” ifadesi, ilgili meta verilerin çıktısını sağlamak için kullanılır.

InterServer Paylaşımlı Barındırma
Paylaşımlı hosting aylık $2.50 USD, ilk ay $0.1 USD promosyon kodu tryinterserver, 461 bulut uygulaması komut dosyası, tek tıklamayla yükleme.

İçerikin etiketlerinin yanı sıra, koşullu işlemler için kullanılan bir dizi etiket de vardır, örneğin…is_single()is_page()is_home()is_front_page()Bu özellikler, şablon dosyalarında mevcut sayfa türüne göre farklı mantıkları çalıştırmanıza olanak tanır.

Özetle.

WordPress tema geliştirme, yaratıcılığı, tasarımı ve web teknolojilerini bir araya getiren bir süreçtir. Öncelikle yerel bir ortam kurmak ve en temel dosya yapısını anlamakla başlar; ardından temaların yapılarını kavramak, şablonları etkili bir şekilde kullanmak ve tema özelliklerini geliştirmek gibi konulara derinlemesine girilir.functions.phpTemaların işlevselliğini artırın ve içeriği dinamik olarak göstermek için şablon etiketlerini ve döngülerini ustaca kullanın. “Dıştan içe” ilkesine uyun; önce başlık, alt bilgi alanı, kenar çubuğu gibi sayfa iskeletini oluşturun, ardından her sayfanın içerik mantığını doldurun. Bu, verimli tema geliştirmenin yoludur. Unutmayın ki pratik en iyi öğretmendir; en basit temayı oluşturup sürekli olarak geliştirerek bu bilgileri en hızlı şekilde öğrenebilirsiniz.

Sıkça Sorulan Sorular.

WordPress tema geliştirmeyi öğrenmek için hangi ön koşul bilgilerine ihtiyaç vardır?

Sayfa yapısını oluşturmak ve güzelleştirmek için temel HTML ve CSS bilgisine sahip olmanız önerilir. Aynı zamanda, WordPress temalarının temel mantığının ve şablon etiketlerinin PHP ile yazıldığını göz önünde bulundurarak PHP’nin temel sözdizimini de bilmelisiniz. JavaScript konusunda temel bir bilgiye sahip olmanız, ilerleyen aşamalarda etkileşimli özellikler eklemenize yardımcı olacaktır.

Neden temam arka planda görünmüyor veya etkinleştirilemiyor?

En yaygın neden şudur:style.cssDosyadaki tema bilgilerinin başlık kısmındaki yorumların formatı doğru değil, içerik eksik veya dosya mevcut değil. Lütfen dosyanın en üstündeki yorum bloğunu dikkatlice kontrol edin ve tüm bilgilerin (özellikle “Theme Name”ın) doğru şekilde girildiğinden emin olun. Ayrıca, tema klasörünüzün doğrudan ilgili yere yerleştirildiğinden emin olun./wp-content/themes/Dizin içinde olmalı, başka bir klasörün içinde yer almamalıdır.

Functions.php dosyasında bir hata olursa ne gibi sonuçlar doğabilir?

functions.phpDosyadaki dilbilgisi hataları veya ciddi hatalar genellikle web sitesinin ön yüzünde “beyaz ekran” (yani hata sayfası) görünmesine neden olur; ayrıca arka planda tema yönetim sayfasında, kullandığınız temanın “hasar gördüğü” ile ilgili bir uyarı belirir. Bu durumda WordPress, web sitesinin erişilebilir olmasını sağlamak için otomatik olarak varsayılan temaya geçer. Hataları düzeltmek için FTP veya dosya yöneticisini kullanmanız gerekir.functions.phpHataları içinde.

Nasıl temamı çok dilli (uluslararasılaştırılmış) hale getirebilirim?

WordPress, uluslararasılaştırma (internationalization) işlemlerini GNU gettext framework kullanarak gerçekleştirir. Sizin de bu framework’ü kullanmanız gerekiyor.style.cssBunun başı vefunctions.phpDoğru şekilde ayarlanmış.Text DomainArdından, çevrilmesi gereken tüm metinlerde çeviri fonksiyonunu kullanın, örneğin:__('文本', 'my-theme-textdomain')_e('文本', 'my-theme-textdomain')Daha sonra, Poedit gibi araçlar kullanılarak içerik oluşturulabilir..potŞablon dosyası, çevirmenlerin kullanımı için hazırlanmıştır..po.moÇeviri dosyası.

Alt konu (subtopic) nedir? Neden bir alt konu oluşturmam gerekiyor?

Alt tema, başka bir temanın (ana tema) tüm özelliklerini ve stillerini devralan bir temadır. Mevcut bir temayı (özellikle üçüncü parti bir temayı) değiştirmek istediğinizde, ancak gelecekteki güvenlik güncellemelerini de korumak istediğinizde, bir alt tema oluşturmanız gerekir. Bir alt tema yalnızca bir…style.cssVe muhtemel bazı özel şablon dosyaları. Böylece, üst tema güncellendiğinde, özel değişiklikleriniz (alt temada) silinmez. Bu, WordPress tema geliştirme konusundaki en iyi uygulamalardan biridir.