WordPress Şablon Hiyerarşisini Anlamak

Özelleştirilebilir her ürün için, yüksek düzeyde özelleştirme sağlamak için çok karmaşık bir sistemin olması gerekir. Web sitesi oluşturmada da durum böyledir. WordPress bu soruna son derece şık bir çözüm olan tema şablon dosyalarıyla yaklaşmıştır. Bu dosyalar ne tür bir sayfanın ve hangi bölümlerin sunulacağını belirlemek için kullanılır. Bu dosyalarda çok sayıda varyasyon olduğundan, özel WordPress temalarıyla daha da büyütüldüğünden, baktığınız sayfa için uygun olanı bulmak için hepsini gözden geçirmenin bir yolunun olması ayrılmaz bir şeydir. Şablon Hiyerarşisi bunun için var.

Bu yazıda aşağıdaki konuları ele alacağız:

  • Şablon Dosya Sistemine Giriş

  • Açıklanan Şablon Hiyerarşisi

  • Koddaki Şablon Hiyerarşisi

WordPress’teki Şablon Dosya Sistemine Giriş

Statik bir web sayfasıyla, onu oluşturmak için yalnızca HTML ve CSS kullanmanız gerekir. İlki sayfanın düzenini, ikincisi ise sayfanın stilini sağlar. Öte yandan WordPress, bir sayfa sunmak için bunları ve diğer birçok kaynağı birleştirmek için PHP kullanır. Bu durum WordPress’in kullanıcılarına, muazzam popülerlik kazanmasının nedenlerinden biri olan sayfaların bölümlerini özelleştirme seçenekleri sunmasını sağlar. Bu özelleştirme, sayfanızın her bir yönünün nasıl görüneceğini belirlemek için kullanılan farklı PHP dosyaları sayesinde mümkündür. Bu dosyalara Şablon Dosyaları denir.

Örneğin WordPress’teki sayfalar çoğunlukla bir başlık, içerik, kenar çubuğu ve alt bilgiden oluşur. Bu öğelerin tümü, header.php, content.php, sidebar.php ve footer.php şablon dosyaları kullanılarak oluşturulur. Bir sayfanın bileşimi değişebilse de, tüm bu varyasyonların ilgili şablon dosyalarında tanımlanması gerekir. Örneğin özel temalarda durum böyledir. Dosyalar, bir sayfanın belirli bir bölümünün nasıl görünmesi gerektiği, nasıl oluşturulması gerektiği ve hangi bölümleri içermesi gerektiği hakkında bilgiler içerir.

WordPress tarafından kullanılan bu sayfa oluşturma yöntemi başlangıçta karmaşık görünebilir, fakat oldukça etkilidir. Şablonlara yönelik modüler yaklaşım, kullanıcıların tek bir dosyada değişiklik yapmasına ve bunu web sitesinde istedikleri yere uygulamasına olanak tanır.

WordPress’in kullandığı önceden belirlenmiş birkaç şablon dosyası olduğuna dikkat etmek önemlidir, bunlar:

  • index.php : Bu ana şablon dosyasıdır. Her tema için o ve style.css gereklidir.

  • style.css : Bu durum ana stil sayfasıdır. Yukarıda belirtildiği gibi, herhangi bir tema için gereklidir. Ayrıca temanız hakkında bilgi içeren başlık yorum bölümünü de içerir.

  • home.php : Ana sayfa şablon dosyası varsayılan olarak ön sayfa için çağrılır. Statik bir ön sayfa ayarlamazsanız, bu şablon en son gönderileri göstermek için kullanılır.

  • header.php : Bu şablon dosyası genellikle sitenizin belge türünü, meta bilgilerini, stil sayfalarına ve komut dosyalarına olan bağlantıları ve diğer ilgili verileri içerir.

  • single.php : Tek gönderi şablonu, bir web sayfasında tek bir gönderi sunmak için kullanılır.

  • page.php : Bu şablon, ziyaretçiler tek tek sayfalar istediğinde kullanılır ve tek bir sayfaya, bir sayfa bölümüne veya sınıf tarafından belirlenen bir sayfa grubuna uygulanabilir.

  • archive.php : Arşiv şablonu gönderileri kategoriye, yazara veya tarihe göre sunmak için kullanılır. Not: Aşağıdaki şablonlar varsa bu şablon geçersiz kılınacaktır: Category.php, Author.php veya Date.php.

  • search.php : Arama sonuçları şablonu, bir kullanıcının arama sonuçlarını görüntülemek için kullanılır.

Bunların yanı sıra, daha az yaygın veya daha az gerekli şablon dosyaları da vardır, örneğin: date.php, rtl.css,category.php, tag.php, taksonomi.php, author.php, comments.php, singular.php, front -page.php, page-{slug}.php, tek-{post-tipi}.php, arşiv-{post-tipi}.php, ek.php
resim.php, 404.php.

Tüm bu dosyalar ve özel temalar tarafından eklenenler göz önüne alındığında, WordPress’in bunlar arasında verimli bir şekilde gezinmenin bir yolunu bulması gerekiyordu. WordPress’in bunu yapmak için uyguladığı yöntem Şablon Hiyerarşisidir.

Açıklanan WordPress Şablonu Hiyerarşisi

Hızlı, verimli ve güvenilir kalırken kullanıcılar için kapsamlı özelleştirmeye sahip olmak için WordPress, tüm bu şablon dosyaları için bir hiyerarşi uyguladı. Şablon Hiyerarşisi, WordPress’in bir kullanıcı tarafından bir sayfa talep edildiğinde kullanılacak uygun şablon dosyalarını arama şeklidir. Yani, bir kullanıcı belirli bir sayfanın bağlantısını tıkladığında, WordPress o sayfayı oluşturmak için ihtiyaç duyduğu şablon dosyalarını aramak için o bağlantıdan gelen sorgu dizesini kullanır. Bu aramanın olabildiğince sorunsuz ve hızlı olması için WordPress, şablon dosyalarının hiyerarşisini önceden tanımlamıştır. Bu da kullanılacak uygun şablonu aramak için kullanılacak yolu ayarlar.

Aşağıda, bir dizi sorgu türü için WordPress tarafından uygulanan tam Şablon Hiyerarşisinin bir temsili ve açıklaması yer almaktadır:

Ana Sayfa Görünümü

Varsayılan olarak, ana sayfa en son blog gönderilerinizi gösterecek şekilde ayarlanmıştır. Bu sayfaya Blog Gönderileri Dizini adı verilir ve Ayarlar > Okuma bölümüne gidilerek ayarlanabilir.

Okuma Ayarları

Home.php şablon dosyası, web sitesinin ön sayfası veya başka herhangi bir sayfası için kullanılsın, blog gönderileri dizinini oluşturmak için kullanılır. home.php dosyası yoksa, WordPress sayfayı oluşturmak için index.php dosyasını kullanır.

Yani şablon hiyerarşisi şöyle olur:

1. home.php 2. index.php

Not: Front-page.php şablon dosyası varsa, home.php şablonunu geçersiz kılar.

Ön Sayfa Görünümü

Front-page.php şablon dosyası, adından da anlaşılacağı gibi, sitenizin ön sayfasını oluşturmak için kullanılır. Ana sayfanız görüntülenir seçeneğinin Blog Yazıları Dizini’ne veya statik bir sayfaya ayarlanıp ayarlanmadığına bakılmaksızın kullanılır. Front-page.php dosyası yoksa WordPress, Ayarlar > Okuma bölümündeki kuruluma bağlı olarak home.php veya page.php şablon dosyalarını kullanır. Bu dosyalardan hiçbiri yoksa, index.php dosyasını kullanır. Bu yüzden şablon hiyerarşisi şöyle olur:

1. front-page.php : Ayarlar > Okuma içindeki her iki kullanılabilir seçenek için kullanılır. 2. home.php : Front-page.php dosyası mevcut değilse ve “Ana sayfanız görüntülenir” bölümünde “son gönderileriniz” seçilirse, WordPress home.php şablon dosyasını arayacaktır. 3. page.php : “Ana sayfanız görüntülenir” bölümünde belirli bir “Ana Sayfa” seçildiğinde, front-page.php dosyası bulunamadıysa sıradaki page.php dosyası olacaktır. 4. index.php : “Ana sayfanız görüntüleniyor” ayarları kullanıldığında ancak ilgili dosyalar bulunamadığında, WordPress mutlak yedek olarak index.php şablon dosyasını kullanır.

Gizlilik Politikası Sayfa Görünümü

Privacy-policy.php şablon dosyası (WordPress 4.9.6 sürümünde düzenlenebilir bir şablon olarak eklenmiştir), sitenizin Gizlilik Politikası sayfasını oluşturmak için kullanılır. page.php şablon dosyasına göre önceliklidir. Privacy-policy.php dosyası yoksa WordPress, mevcut şablonlara bağlı olarak page.php veya singular.php dosyalarını kullanır. Bu dosyalardan hiçbiri yoksa, index.php dosyasını kullanır. Bu yüzden şablon hiyerarşisi şöyle olur:

1.privacy-policy.php : (WordPress sürüm 4.9.6’dan itibaren) Ayarlar > Gizlilik içindeki Gizlilik İlkenizi Değiştirin sayfası bölümünde ayarlanan Gizlilik İlkesi sayfası için kullanılır. 2. Özel bir şablon dosyası : get_page_templates() işlevi kullanılarak Gizlilik Politikası sayfasına atanan sayfa şablonu. 3. page-privacy.php 4. page-{id}.php : Örneğin sayfa kimliği 61 ise, WordPress page-61.php dosyasını kullanmaya bakar. 5. page.php 6. tekil.php 7. index.php

Tek Gönderi

Tek gönderi şablonu dosyası, tek bir gönderi oluşturmak için kullanılır. Bu amaçla WordPress aşağıdaki yol yapısını kullanır:

1. single-{post-type}-{slug}.php : (WordPress 4.4 sürümünden itibaren) İlk olarak, WordPress belirli gönderi için bir şablon arar. Örneğin gönderi türü “blog” ve gönderi bilgisi “haberler” ise, WordPress single-blog-news.php’yi arayacaktır. 2. single-{post-type}.php : Single-{post-type}-{slug}.php dosyası bulunamazsa ve gönderi türü “blog” ise, WordPress single-blog.php dosyasını arayacaktır. şablon dosyası. 3. single.php : Önceki iki dosyadan hiçbiri bulunamazsa, WordPress single.php’ye geri döner. 4. singular.php : Bundan sonra singular.php’ye geri döner. 5. index.php : Son olarak daha önce gördüğümüz gibi, geçerli başka bir seçenek yoksa, WordPress sonuçta index.php dosyasına geri döner.

Tek sayfa

Bu durum statik bir sayfa (sayfa yazı tipi) oluşturmak için kullanılan şablon dosyasıdır. Diğer yazı türlerinden farklı olarak, sayfa yazı tipinin WordPress’e özgü olduğunu ve aşağıdaki yolu kullandığını unutmayın:

1. Özel bir şablon dosyası : Bir get_page_templates() işlevi kullanılarak sayfaya atanan sayfa şablonu. 2. page-{slug}.php : Özel şablon dosyası yoksa ve sayfa bilgisi örneğin son haberler ise, WordPress page-recent-news.php dosyasını arayacaktır. 3. page-{id}.php : Örneğin sayfa kimliği 61 ise, WordPress page-61.php şablon dosyasını kullanmaya bakar. 4. page.php 5. tekil.php 6. index.php

Kategori

Kategori arşivi dizin sayfalarını oluşturmak için WordPress aşağıdaki yolu kullanır:

1. Category-{slug}.php : Kategorinin bilgisi “news” ise, WordPress, Category-news.php’yi arar. 2.category-{id}.php : Category-{slug}.php dosyası bulunamadıysa ve kategorinin kimliği örneğin 61 ise WordPress, Category-61.php şablon dosyasını arar. 3. kategori.php 4. arşiv.php 5. indeks.php

Etiket

Bir etiket arşivi dizin sayfasını görüntülemek için WordPress aşağıdaki yolu kullanır:

1. tag-{slug}.php : Etiketin bilgisi “breaking” ise, WordPress tag-breaking.php’yi arayacaktır. 2. tag-{id}.php : tag-{slug}.php bulunamadıysa ve etiketin kimliği 61 ise, WordPress tag-61.php’yi arar. 3. tag.php 4. arşiv.php 5. index.php

Özel Taksonomiler

Özel taksonomiler için WordPress biraz farklı bir şablon dosya yolu kullanır:

1. taksonomi-{taxonomy}-{term}.php : Taksonomi bir vergi ise ve taksonominin terimi bir terim ise, WordPress taksonomi-bir vergi-bir terminoloji.php dosyasını arayacaktır. Gönderi biçimleri söz konusu olduğunda, sınıflandırma ‘post_format’ ve terimler ‘post-format-{format} şeklindedir. Örneğin bağlantı gönderi biçimi taksonomi-post_format-post-format-link.php olacaktır. 2. taksonomi-{taxonomy}.php : Taxonomy-{taxonomy}-{term}.php araması herhangi bir sonuç vermediyse ve taksonomi biraztax ise, WordPress taksonomi-bazıtax.php dosyasını arayacaktır. 3. taksonomi.php 4. arşiv.php 5. indeks.php

Özel Gönderi Türleri

Özel gönderi türleri, uygun arşiv dizin sayfasını oluşturmak için aşağıdaki yolu kullanır.

1.archive-{post_type}.php : Gönderi türü “blog” ise, WordPress archive-blog.php şablon dosyasını arar. 2. arşiv.php 3. dizin.php

Tek bir yazı tipi şablonu oluşturmak için WordPress, yukarıda belirtilen tek yazı görüntüleme yolunu kullanır.

Yazar Ekranı

Bu yol açıklamalarından geçerken bir modelin ortaya çıktığını şimdiye kadar fark etmiş olabilirsiniz. Ve yazar görüntüsünü oluşturmak aynı modeli takip eder:

1. author-{nicename}.php : Yazarın güzeladı “Clint” ise, WordPress, author-clint.php’yi arar. 2. Author-{id}.php : Yazarın kimliği 61 ise, WordPress, Author-61.php dosyasını arayacaktır. 3. yazar.php 4. arşiv.php 5. dizin.php

Tarih

Tarihe dayalı (gönderileri tarihe/saate göre görüntülemek için kullanılan) arşiv dizin sayfalarının oluşturulması, aşağıda ana hatları verilen yapıyı takip eder:

1. tarih.php 2. arşiv.php 3. indeks.php

Arama sonuçları

Ziyaretçilerin arama sonuçlarını görüntülemeye hizmet eden arama sonuçları şablonu, aşağıda özetlenen yapıyı takip eder:

1. arama.php 2. indeks.php

404 Bulunamadı)

Benzer şekilde, WordPress bir gönderiyi, sayfayı veya başka bir içeriği bulamadığında görüntülenen 404 şablon dosyası aşağıdaki sırayla çağrılır:

1. 404.php 2. index.php

EK

Bir ek sayfasının çağrılması (ek…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Birlikte Büyüyen Bir İş Kurma Fırsatı!

İş birliği yaparak, işinizi yalnızca bir adım öteye taşıyoruz. Daha detaylı bilgi isterseniz mail adresinizi bize iletebilirsiniz.