Geliştirme Ortamı ve Çekirdek Dosya Yapısı
İlk WordPress temasınızı yazmaya başlamadan önce, uygun bir geliştirme ortamı oluşturmak ve temanın temel dosya yapısını anlamak çok önemlidir. Tipik bir WordPress teması, PHP, CSS, JavaScript ve resimler gibi kaynakları içeren bir klasördür.
En temel temalar için sadece iki dosya gereklidir:style.css 和 index.php。style.cssDosya, sadece temanın görünümünü (stilini) sağlamakla kalmaz; aynı zamanda dosyanın baş kısmındaki yorumlar (header comments) temanın meta verilerini de içerir. Bu meta veriler arasında tema adı, yazar, açıklama ve sürüm numarası bulunur. İşte WordPress’in bir temayı tanımasının temel yolu budur.
/*
Theme Name: My First Theme
Theme URI: https://example.com/my-first-theme
Author: Your Name
Author URI: https://example.com
Description: A simple, clean starter theme for learning WordPress development.
Version: 1.0
License: GPL v2 or later
Text Domain: my-first-theme
*/ index.php Bu, temanın en önemli şablon dosyasıdır ve ana sayfanın görünümünü kontrol etmekten sorumludur. Ancak, işlevsel bir tema oluşturmak için temanın şablon hiyerarşisini anlamanız gerekmektedir. WordPress, mevcut sayfa türüne (ana sayfa, makale sayfası, sayfa, kategori arşivi vb.) göre ilgili şablon dosyasını otomatik olarak bulur ve yükler. Örneğin, tek bir makaleye erişildiğinde, WordPress öncelikle “” adlı şablonu arar. single.php Eğer ilgili dosya mevcutsa, işlemler bu dosya üzerinden yapılacaktır; aksi takdirde işlemler önceki durumuna (yani başlangıç durumuna) geri dönecektir. singular.phpVe en sonunda… index.php。
Tavsiye edilen okuma Sıfırdan Başlayarak: Bir Arama Motoruna Dost Profesyonel WordPress Teması Oluşturma。
Bu iki temel dosyanın yanı sıra, standart bir tema genellikle aşağıdaki önemli dosyaları da içerir:
* header.phpWeb sitesinin başlık şablonu.
* footer.phpWeb sitesinin alt kısmı için kullanılan şablon.
* functions.phpKonunun işlevsel dosyasıdır; işlevler eklemek, menüler ve kenar çubukları gibi öğeleri kaydetmek için kullanılır.
* page.php`: Statik sayfaları görüntülemek için kullanılır.
* single.php:Bir makalenin görüntülenmesi için kullanılır.
* archive.php`: Kategorileri, etiketleri, yazarları ve diğer arşiv sayfalarını göstermek için kullanılır.
* sidebar.php: Kenar çubuğu şablonu.
* 404.php404 Hata Sayfası Şablonu.
* search.phpArama Sonuçları Sayfası Şablonu.
Bu dosyaları anlamak ve mantıklı bir şekilde düzenlemek, bakımı kolay ve WordPress standartlarına uygun bir tema oluşturmanın temelidir.
Ana Tema Özellikleri ve Fonksiyonları
functions.php Dosyalar, bir temanın “beyni” gibidir; WordPress’in temel işlevlerini değiştirmeden genişletmenize olanak tanır. Burada özel özellikler ekleyebilir, temanın desteklediği özellikleri kaydedebilir, betikler ve stil şemaları kullanabilirsiniz.
Konu özelliklerinin başlatılması
Öncelikle, şunları yapman gerekiyor: functions.php Çince'de kullanılır. add_theme_support() Fonksiyonlar, bir temanın desteklediği çeşitli özellikleri tanımlayabilir. Örneğin, makale özetlerinin (özel görsellerin) etkinleştirilmesi, modern temaların standart özelliklerindendir.
function my_theme_setup() {
// 添加文章和评论的Feed链接
add_theme_support( 'automatic-feed-links' );
// 启用文章缩略图功能
add_theme_support( 'post-thumbnails' );
// 添加对<title>标签的WordPress原生支持
add_theme_support( 'title-tag' );
// 启用对古腾堡编辑器的全宽、宽对齐支持
add_theme_support( 'align-wide' );
}
add_action( 'after_setup_theme', 'my_theme_setup' ); Menü ve Bileşen Bölgelerinin Kaydı
WordPress’in navigasyon menüsü ve Widget (küçük araçlar) bölgesi, web sitelerine esnek bir içerik yönetim imkanı sunar. Sizin ihtiyacınız olan… functions.php Onları burada kaydedin.
Tavsiye edilen okuma Sıfırdan profesyonel bir WordPress teması nasıl oluşturulur: Tam Geliştirme Kılavuzu。
register_nav_menus() Bu fonksiyon, bir veya daha fazla navigasyon öğesinin konumunu kaydetmek için kullanılır; örneğin ana navigasyon ve alt navigasyon için.
function my_theme_menus() {
register_nav_menus(
array(
'primary' => __( 'Primary Menu', 'my-first-theme' ),
'footer' => __( 'Footer Menu', 'my-first-theme' ),
)
);
}
add_action( 'after_setup_theme', 'my_theme_menus' ); Aynı şekilde, kullanın. register_sidebar() Fonksiyonlar, kenar çubuğu veya diğer Widget bölgelerine kaydedilebilir. 2026 Yıllar süren geliştirme pratiğinde, tüm siteyi düzenleme özelliğinin bile bileşen bölgelerinin kullanım şeklini değiştirmesine rağmen, geleneksel kenar çubuklarını anlamak ve bunları sisteme kaydetmek tema geliştirmesi için hala önemlidir.
Script ve stil şablonlarının dahil edilmesi
Doğru şekilde CSS ve JavaScript dosyalarını dahil etmek, ön uç performansı ve etkileşimin temelidir. Bunları kullanmanız gerekir. wp_enqueue_style() 和 wp_enqueue_script() fonksiyonları ve bunları bağlamak. wp_enqueue_scripts Bu kancada.
function my_theme_scripts() {
// 引入主题主样式表
wp_enqueue_style( 'my-theme-style', get_stylesheet_uri() );
// 引入自定义JavaScript文件
wp_enqueue_script( 'my-theme-script', get_template_directory_uri() . '/js/main.js', array(), null, true );
}
add_action( 'wp_enqueue_scripts', 'my_theme_scripts' ); Bu yöntem, bağımlılıkların yönetilmesini sağlar ve WordPress’in en iyi uygulamalarına uygun hareket eder.
Şablon dosyaları ve döngüler
WordPress’ün temel mekanizmalarından biri “The Loop” (Döngü)’dur. Bu, veritabanından içerik almak ve bunu sayfada göstermek için kullanılan bir PHP kod parçasıdır. Neredeyse tüm şablon dosyalarında bir döngü bulunmaktadır.
Şablon hiyerarşisini anlamak
Şablon hiyerarşisi, WordPress’in en güçlü özelliklerinden biridir. Bu yapı, WordPress’in farklı türdeki istekler için hangi şablon dosyalarını seçeceğini belirler. İşleyiş mantığı “özelden genelgeye” doğrudur. Örneğin, bir kullanıcı “News” (Haberler) kategorisine ait bir makaleye eriştiğinde, WordPress sırasıyla şu adımları izler:category-news.php -> category-{id}.php -> category.php -> archive.php -> index.phpBu hiyerarşiyi öğrendiğinizde, farklı sayfaların görünümünü hassas bir şekilde kontrol etmek için son derece özelleştirilmiş şablon dosyaları oluşturabilirsiniz.
Tavsiye edilen okuma Sıfırdan Başlayın: WordPress Eklenti Geliştirme Kapsamlı Rehberi ve Uygulama Eğitimi。
Döngülerin pratik uygulamaları
在 index.php 或 archive.php Burada, döngüler genellikle birden fazla makalenin listelenmesi için kullanılır. Temel yapısı şu şekildedir:
<article id="post-<?php the_ID(); ?>" no numeric noise key 1008>
<h2><a href="/tr/</?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<div class="entry-content">
<?php the_excerpt(); ?>
</div>
</article>
<p><?php _e( 'Sorry, no posts matched your criteria.', 'my-first-theme' ); ?></p>
<?php endif; ?> Burada birkaç önemli şablon etiketi kullanılmıştır:the_post() Mevcut makale verilerini ayarlamak için kullanılır.the_title() Makale Başlığı:the_permalink() Makale bağlantısını buraya yazınız.the_excerpt() Makale özetini çıkarın.
Ve tek bir makale şablonunda… single.php Burada, döngü genellikle sadece bir kez çalıştırılır ve bir makalenin tam içeriğinin görüntülenmesi için kullanılır. the_content() Bir çıktı oluşturun.
Kodu optimize etmek için şablon bileşenlerini kullanın.
Birden fazla şablon dosyasında aynı HTML yapısını (örneğin makale listesi öğelerini) tekrar tekrar yazmaktan kaçınmak için WordPress, “Şablon Bölümleri” (Template Parts) kavramını benimsemiştir. Bunu kullanarak… get_template_part() Bir fonksiyon, yeniden kullanılabilir bir kod parçasını çağırmak için kullanılır.
Örneğin, “my_project” adında bir proje oluşturun. content.php Her makalenin listede nasıl görüneceğini tanımlamak için bir dosya kullanılır. Daha sonra, döngü içinde şu şekilde çağrılır:
while ( have_posts() ) : the_post();
get_template_part( 'template-parts/content', get_post_format() );
endwhile; Bu kod satırı, öncelikle şuna benzer şeyleri arayacaktır: content-video.php Bu tür, belirli bir formata sahip dosyalar bulunamazsa, geri dönüş yapılır. content.phpBu, kodun sürdürülebilirliğini ve yeniden kullanılabilirliğini büyük ölçüde artırmıştır.
Özelleştirilmiş Özellikler ve Tüm Site Düzeyinde Düzenleme
WordPress’un Gutenberg editörünün gelişmesiyle birlikte, tema geliştirme “Tam Site Düzenleme” (Full Site Editing, FSE) adında yeni bir çağa girmiştir. Bu durum, geliştiricilerin blok temalarının (Block Themes) geliştirme modellerini ve geleneksel klasik temaların özelleştirme yöntemlerini öğrenmelerini gerektirir.
Özel sayfa şablonu oluşturun.
Klasik temalar, özel sayfa şablonları oluşturularak benzersiz sayfa düzenleri sağlayabilir. Yapmanız gereken, herhangi bir şablon dosyasının başına belirli PHP yorumlarını eklemektir; WordPress bunu sayfa düzenleyicisinin “Şablon” özelliğinde tanıyacaktır.
<?php
/**
* Template Name: Full Width Page
* Description: A page template without sidebar.
*/
get_header(); ?>
// ... 全宽布局的代码 ...
<?php get_footer(); ?> Belgeye veya sayfaya özel seçenekler ekleyin.
Daha karmaşık ihtiyaçlar için, kullanıcılara renk şemasını değiştirme veya logo yükleme gibi seçenekler sunmak isteyebilirsiniz. Bu genellikle aşağıdaki iki yöntemle gerçekleştirilir:
1. WordPress Özelleştirici (Customizer) kullanarak: WP_Customize_Manager Sınıflara ayarlar ve kontroller eklenerek, kullanıcılara değişikliklerin gerçek zamanlı olarak önizlenmesi sağlanır.
2. Seçenek sayfası oluşturma: Kullanın add_menu_page() 或 add_options_page() Bu tür fonksiyonlar, arka planda bağımsız bir ayar sayfası oluşturur. Bu yöntem, çok sayıda seçeneğin ve karmaşık bir mantığın bulunduğu durumlar için uygundur.
“Kucaklama Bloğu Teması ve Tüm Siteye Yaygın Düzenleme” (Embrace Block Theme and Site-Wide Editing)
“Block temaları”, WordPress’in gelecekteki gelişim yönüdür; tamamen bloklar (Blocks) kullanılarak oluşturulmuştur ve… theme.json Dosyalar, genel stilleri ve ayarları merkezi bir şekilde tanımlamak için kullanılır. Blok temalarında, geleneksel yaklaşımlar… header.php、sidebar.php、footer.php “Şablonlar” (Templates) ve “Şablon Bileşenleri” (Template Parts) ile değiştirilmiştir; bunların hepsi site editöründe doğrudan görsel olarak düzenlenebilir.
Bir modern tema geliştiricisi olarak, ana olarak klasik temalar geliştirmek olsa bile, bazı temel konuları anlamak gereklidir. theme.json Bu, klasik temalı blok düzenleyicilerine tutarlı renk, düzenleme ve aralık ayarları sağlayarak kullanıcıların düzenleme deneyimini iyileştirebilir.
Özetle.
WordPress tema geliştirme, temel dosya yapısını anlamakla başlayan, ardından çekirdek fonksiyonlara ve şablon sistemine derinlemesine giren ve sonunda modern geliştirme yöntemlerini benimseyen bir süreçtir. En temel temayı oluşturmakla başlayarak… style.css 和 index.php…den…ye functions.php WordPress’ta kayıt işlemleri, kuyrukların yönetimi ve içeriğin gösterimi için güçlü şablon yapılarının ve döngülerin kullanımı; tüm bunlar, WordPress’in temel çalışma prensiplerine olan anlayışınızın üzerine inşa edilmiştir. Becerileriniz geliştikçe, özel şablonlar oluşturarak, seçenek sayfaları ekleyerek ve blok temaları ile site genelinde düzenleme işlemlerinin temellerini öğrenerek, işlevsel, kullanıcı dostu ve çağdaş trendlere uygun profesyonel seviyede temalar geliştirebilirsiniz.
Sıkça Sorulan Sorular.
WordPress tema geliştirmek için hangi temel bilgilere ihtiyaç vardır?
Sayfa yapısını ve stilini oluşturmak için HTML ve CSS’yi, mantığı ve dinamik içeriği işlemek için PHP’yi, ve etkileşimli efektler eklemek için temel JavaScript bilgisini öğrenmeniz gerekmektedir. Ayrıca, WordPress’in temel kavramlarına, örneğin makaleler, sayfalar, kategoriler, etiketler, hook’lar (Hook’lar) ve döngüler gibi konularda net bir anlayışa sahip olmanız çok önemlidir.
Nasıl temamı çok dilli olarak destekleyebilirim?
Temanın uluslararasılaştırılması (i18n) için hazırlıklarınızı yapmanız gerekiyor. Kodunuzda, kullanıcıya yönelik tüm metinler için WordPress’in çeviri fonksiyonlarını kullanın. Örneğin: __()、_e() 和 _x()Ve onlara bir metin alanı (Text Domain) belirleyin. Daha sonra, Poedit gibi bir araç kullanarak bunları oluşturun. .pot Şablon dosyası, çevirmenlerin kullanımı için hazırlanmıştır. .po 和 .mo Translate the file. In style.css 和 functions.php Doğru metin alanını tanımlamak yeterlidir.
Temanın functions.php dosyası ve eklentinin işlevleri arasında ne fark var?
functions.php Belirtilen özellikler belirli bir temaya bağlıdır. Temayı değiştirdiğinizde bu özellikler genellikle devre dışı kalır. Öte yandan, eklentilerin işlevleri temadan bağımsızdır ve hangi tema kullanılırsa kullanılsın etkili olurlar. Bu nedenle, bir özellik web sitesinin temel bir parçasıysa ve görsel sunumla ilgili değilse (örneğin özelleştirilmiş makale türleri, SEO optimizasyonu gibi), bu özellik bir eklenti olarak geliştirilmek daha uygundur. Ancak bir özellik temanın düzenine veya stiline sıkı sıkıya bağlıysa, bu özellik temanın içinde yer almalıdır. functions.php Orta.
WordPress temamı nasıl hata ayıklarım?
Öncelikle, senin için wp-config.php WordPress’un hata ayıklama (debugging) modunu dosyada etkinleştirin. WP_DEBUG Sabit, olarak ayarlandı. trueBu, PHP hatalarını, uyarılarını ve bildirimlerini ekranda gösterecektir. Aynı zamanda, CSS ve JavaScript hatalarını kontrol etmek için tarayıcının yerleşik geliştirici araçlarını (F12 tuşuna basarak) kullanabilirsiniz. Daha karmaşık mantık hatalarını ayıklamak için Xdebug gibi profesyonel PHP hata ayıklama araçlarını kullanabilirsiniz; veya kodunuzda geçici olarak basit çözümler uygulayabilirsiniz. error_log() Fonksiyon, değişkenin değerini sunucunun hata günlüğüne yazdırır.
Bir sonraki adım, bundan sonra ne yapmalıyım?
Daha fazla okuma ve pratik bilgiler.
Aşağıdaki içerikler bu makalenin konusuyla ilgilidir ve daha fazla okumak için uygundur. Öncelikle mevcut sorununuza en yakın makaleden başlayın, sonra çevresel konulara doğru ilerleyin, genellikle daha iyi sonuçlar alırsınız.
- WordPress teması nedir? Başlangıçtan ileri seviyeye kadar kapsamlı bir rehber
- Tailwind CSS Kullanım Rehberi: Sıfırdan Başlayarak Modern, Yanıt Veren Web Siteleri Oluşturma
- 10 Temel Beceri: Profesyonel ve Verimli Bir WordPress Teması Oluşturmak
- Modern web sitesi oluşturma rehberi: Sıfırdan canlı hale getirmeye kadar tüm süreç ve teknoloji yığını seçimi
- Web Sitesi İnşasının Temel Süreçleri ve Anahtar Teknolojileri Analizi