Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
WordPress şablon hiyerarşisi, ziyaretçinin açtığı sayfanın türüne göre tema klasöründeki en özel şablonu arar ve bulduğu ilk uygun dosyayı kullanır. Dosya bulunamazsa daha genel bir dosyaya, en sonunda da çoğu klasik temada index.php dosyasına geri döner. Bu nedenle doğru dosya adını seçmek, bir sayfanın görünümünü değiştirmeden önceki temel adımdır.

Hiyerarşi mantığı​


Bir ziyaretçi ornek.com/urunler/ adresindeki bir yazıyı açtığında WordPress önce içeriğin türünü belirler. Bu içerik tekil yazıysa single.php ailesini, kategori arşiviyse category.php ailesini, sabit sayfaysa page.php ailesini değerlendirir.

WordPress, en özel adaydan en genel adaya doğru ilerler. Örneğin “Haberler” kategorisinin arşivi için genel bir archive.php dosyasından önce şu dosyaları arayabilir:

  1. category-haberler.php
  2. category-7.php — kategorinin varsayımsal kimliği 7 ise
  3. category.php
  4. archive.php
  5. index.php

İlk dosya mevcutsa sonraki dosyalar kullanılmaz. Böylece yalnızca belirli bir kategoriye özel tasarım yapabilir, diğer kategorileri genel şablona bırakabilirsiniz.

Yaygın şablon türleri​


Aşağıdaki tablo, hangi dosyanın hangi içerik görünümünü kontrol etmek için kullanılacağını hızlıca gösterir:

GörünümÖncelikli dosya örnekleriGenel geri dönüş
Ön sayfa son yazıları gösteriyorfront-page.phphome.php → index.php
Ön sayfa sabit sayfafront-page.phpAtanmış sayfa şablonu → page-slug.php → page-id.php → page.php → singular.php → index.php
Ayrı yazı listesi sayfasıhome.phpindex.php; bu sayfaya atanmış normal page template esas alınmaz
Blog yazısısingle-{tür}-{slug}.php → single-{tür}.php → single.phpsingular.php, index.php
Sabit sayfaAtanmış özel sayfa şablonu → page-{slug}.php → page-{id}.phppage.php → singular.php → index.php
Kategori arşivicategory-{slug}.php, category-{id}.phpcategory.php → archive.php → index.php
Arama sonucusearch.phpindex.php
Bulunamayan sayfa404.phpindex.php

Örneğin yalnızca “hakkimizda” sabit sayfasını değiştirmek istiyorsanız page-hakkimizda.php dosyası oluşturabilirsiniz. Bu dosya yoksa WordPress page.php dosyasına, o da yoksa daha genel şablona geçer. Yazı türleri için benzer biçimde single-urun.php, taksonomi arşivleri için taxonomy-{taksonomi}-{terim}.php kullanılabilir.

Uygulanabilir çalışma yöntemi​


  1. Değiştirmek istediğiniz URL'nin görünüm türünü belirleyin: ana sayfa, blog listesi, tekil yazı, sabit sayfa, kategori, özel yazı türü veya arama sonucu.
  2. Temanızın dosyalarını inceleyin ve en özel uygun dosyanın mevcut olup olmadığını kontrol edin. Dosya adı, içerik türünün slug değeriyle doğru yazılmalıdır.
  3. Klasik temada özel bir görünüm gerekiyorsa dosyayı mümkünse alt temaya ekleyin. Ana temaya doğrudan yapılan değişiklikler tema güncellemesinde kaybolabilir.
  4. Örneğin yalnızca “duyurular” kategorisini değiştirmek için alt temada category-duyurular.php oluşturun ve genel kategori şablonundan gerekli yapıyı kopyalayıp düzenleyin.
  5. Önizlemede doğru URL'yi açın. Değişiklik görünmüyorsa daha özel bir dosyanın zaten devrede olup olmadığını ve önbelleğin eski çıktıyı göstermediğini kontrol edin.

Dosyanın seçildiğini anlamanın en pratik yolu, yalnızca geliştirme ortamında şablona ayırt edici bir başlık veya geçici HTML metni ekleyip ilgili sayfayı yenilemektir. Metin görünmüyorsa yanlış şablonu düzenliyorsunuzdur veya tema, blok şablon sistemi kullanıyordur.

Şablon türünün önceliği ile child/parent dosya önceliği farklıdır. Daha özel bir parent şablonu varken yalnız genel child şablonu eklemek onu otomatik geçersiz kılmayabilir; aynı aday için child sürümü önceliklidir.

Klasik tema ile blok tema farkı​


Klasik temalarda hiyerarşi çoğunlukla PHP dosyaları üzerinden işler. Blok temalarda ise görünüm; temanın templates klasöründeki .html blok şablonları (örneğin templates/single.html ve templates/index.html) ve parts klasöründeki şablon parçalarıyla yönetilebilir. Bu durumda WordPress yönetimindeki Site Düzenleyicisi, dosyadaki varsayılan şablonun üzerine kaydedilmiş bir düzeni kullanabilir. Bu yüzden PHP dosyasını değiştirmeden önce kullanılan temanın klasik mi blok tabanlı mı olduğunu ve ilgili şablonun yönetim panelinde özelleştirilip özelleştirilmediğini kontrol edin.

Sık yapılan hatalar​


En yaygın hata, ana sayfa ile yazı listesini aynı sanmaktır. front-page.php sitenin ön sayfasını; home.php ise yazıların listelendiği blog sayfasını hedefler. Bir diğer hata slug yerine görünen başlığı kullanmaktır: “Hakkımızda” sayfasının dosya adı genellikle page-hakkimizda.php olur; boşluk ve büyük harf kullanılmamalıdır.

Ayrıca bir dosyanın yalnızca var olması, mutlaka kullanılacağı anlamına gelmez. Daha özel bir dosya, yönetim panelinde kaydedilmiş blok şablonu veya özel bir tema ayarı çıktıyı değiştirebilir. Değişikliği önce dar kapsamlı bir şablonda test edin; doğru sonucu aldıktan sonra ortak yapıyı genel şablona taşıyın.

Kaynaklar​



Sık sorulan sorular​


Bir içerik birden fazla kategoriye aitse hangi kategori şablonu kullanılır?​


Tekil yazı görünümünde kategori şablonu seçilmez; yazı için single.php ailesi kullanılır. Kategori arşivi açıldığında ise o arşivin kendi slug veya kimliğine uyan kategori şablonu devreye girer.

Şablon dosyasını yeniden adlandırınca neden görünüm değişmedi?​


Dosya adı hiyerarşide tanınan kalıba uymuyor olabilir. Ayrıca daha özel bir dosya, blok temada kaydedilmiş bir düzen veya önbellek eski çıktıyı gösteriyor olabilir. Önce hedef URL'nin türünü ve temanın türünü doğrulayın.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.