Şablon dosyaları, WordPress sitenizdeki web sayfalarını oluşturmak için kullanılan modüler, yeniden kullanılabilir dosyalardır. Bazı şablon dosyaları (örneğin başlık ve alt wood kısmı) sitenizin tüm sayfalarında kullanılırken, diğerleri yalnızca belirli koşullar altında kullanılır.
Bu makale, WordPress’in tek tek sayfaları göstermek için hangi şablon dosyasını veya dosyalarını kullanacağına nasıl karar verdiğini açıklar. Mevcut bir WordPress temasını özelleştirmek istiyorsanız, hangi şablon dosyasının düzenlenmesi gerektiğine karar vermenize yardımcı olacaktır.
Ayrıca, belirli bir sayfada hangi şablonların yükleneceğini kontrol etmek için Koşullu Etiketleri (Conditional Tags) kullanabilirsiniz.
Şablon Dosyası Hiyerarşisine Genel Bakış
WordPress, görüntülenecek sayfayı belirlemek için sorgu dizesini (query string) kullanır. Sorgu dizesi, web sitenizin her bir bölümüne giden bağlantıda bulunan bilgidir.
Basitçe söylemek gerekirse, WordPress eşleşen bir şablon dosyası bulana kadar şablon hiyerarşisinde aşağı doğru arama yapar. Hangi şablon dosyasını kullanacağına karar vermek için WordPress şunları yapar:
- Her sorgu dizesini, hangi sayfanın istendiğine karar vermek için bir sorgu tipiyle eşleştirir (örneğin, bir arama sayfası, bir kategori sayfası vb.).
- Şablon hiyerarşisi tarafından belirlenen sırayla şablonu seçer.
- Mevcut temanın dizininde belirli adlara sahip şablon dosyalarını arar ve hiyerarşide belirtilen ilk eşleşen şablon dosyasını kullanır.
Temel index.php şablon dosyası hariç, belirli bir şablon dosyasını uygulayıp uygulamayacağınıza siz karar verebilirsiniz.
Not: Bu örneklerde PHP dosya uzantısı kullanılmıştır. Blok temalarda ise HTML dosyaları kullanılır, ancak şablon hiyerarşisi aynıdır.
WordPress eşleşen bir şablon dosyası bulamazsa, hiyerarşideki bir sonraki dosyaya atlar. Hiçbir eşleşen şablon dosyası bulunamazsa, temanın index.php dosyası kullanılır.
Alt Tema (Child Theme) Durumları:
Alt tema kullanıyorsanız, alt temanıza eklediğiniz herhangi bir dosya, üst temadaki aynı dosyayı geçersiz kılar. Örneğin, her iki tema da aynı şablonu (category.php) içeriyorsa, alt temanın şablonu kullanılır.
Alt temada daha spesifik bir şablon (category-unicorns.php) varsa ve üst temada daha düşük öncelikli bir şablon (category.php) varsa, yine alt temanın category-unicorns.php dosyası kullanılır.
Ancak, alt tema yalnızca genel bir şablonu (category.php) içeriyor ve üst tema spesifik olanı (category-unicorns.php) içeriyorsa, üst temadaki spesifik şablon (category-unicorns.php) kullanılır.
Örnekler: Kategori Sayfası
Blogunuz http://ornek.com/blog/ adresindeyse ve bir ziyaretçi http://ornek.com/blog/kategori/sizin-kediniz/ gibi bir kategori sayfasına tıklar ise, WordPress doğru sayfayı oluşturmak için mevcut temanın dizininde kategori kimliğiyle eşleşen bir şablon dosyası arar:
category-{slug}.php: Önce kategorinin kısa ismine (slug) göre eşleşen bir şablon dosyası arar. Kategori adı “haberler” ise,category-haberler.phpdosyasını arar.category-{id}.php: Eğercategory-haberler.phpyoksa ve kategorinin Kimliği (ID) 4 ise,category-4.phpadlı bir şablon dosyası arar.category.php: Eğercategory-4.phpyoksa, daha genel bir kategori şablonu olancategory.phpdosyasını arar.archive.php: Eğercategory.phpde mevcut değilse, genel arşiv şablonu olanarchive.phpdosyasına geri döner.index.php: Eğerarchive.phpde eksikse, son olarak ana tema şablon dosyası olanindex.phpdosyasına geri döner.
Ayrıntılı Şablon Hiyerarşisi
Şablon hiyerarşisinin bir şema olarak anlaşılması daha kolay olsa da, aşağıdaki bölümler WordPress’in bir dizi sorgu türü için şablon dosyalarını hangi sırayla çağırdığını açıklamaktadır:




