İçeriğe geç
Başvuru

WordPress Blok Tema Şablon Hiyerarşisi

Tam blok tema (FSE) şablon hiyerarşisi: her istek türü için WordPress'in aradığı, en özelden başlayıp index.html'e düşen sıralı şablon listesi. Klasik hiyerarşi tablosunun blok dönemindeki karşılığı.

Her istek için WordPress bu şablonları sırayla arar — önce en özel olanı — ve temanızın /templates klasöründe var olan ilk şablonda durur. Zincir her zaman index.html ile sona erer.

Ön sayfa

Sitenin ön sayfası; ister en son yazılarınız ister statik bir sayfa olarak ayarlanmış olsun.

  1. front-page.html
  2. home.html
  3. index.html

Ayarlar → Okuma seçiminden bağımsız olarak front-page.html kazanır. Ön sayfa statik bir sayfaysa ve front-page.html yoksa, home.html'e değil statik sayfa zincirine düşer.

Blog yazıları dizini

En son yazılarınızı listeleyen sayfa (Ayarlar → Okuma'daki \"yazılar sayfası\").

  1. home.html
  2. index.html

Tekil yazı

Tek bir blog yazısı.

  1. single-post-{slug}.html
  2. single-post.html
  3. single.html
  4. singular.html
  5. index.html

Tekil özel yazı türü

Özel bir yazı türünün tek bir kaydı (örneğin bir \"kitap\").

  1. single-{post-type}-{slug}.html
  2. single-{post-type}.html
  3. single.html
  4. singular.html
  5. index.html

Slug'ı \"dune\" olan \"book\" yazı türü için: önce single-book-dune.html, sonra single-book.html, ardından single.html.

Statik sayfa

Sıradan bir WordPress sayfası.

  1. page-{slug}.html
  2. page-{id}.html
  3. page.html
  4. singular.html
  5. index.html

Özel şablonlu sayfa

Düzenleyicinin Şablon panelinde özel bir şablon atanmış bir sayfa.

  1. {custom-template}.html
  2. page-{slug}.html
  3. page-{id}.html
  4. page.html
  5. singular.html
  6. index.html

Özel şablonlar theme.json'daki customTemplates dizisinde tanımlanır ve /templates içinde bulunur. Atanan şablon, tüm sayfa zincirine üstün gelir.

Kategori arşivi

Bir kategorideki yazıları listeleyen arşiv.

  1. category-{slug}.html
  2. category-{id}.html
  3. category.html
  4. archive.html
  5. index.html

Etiket arşivi

Belirli bir etikete sahip yazıları listeleyen arşiv.

  1. tag-{slug}.html
  2. tag-{id}.html
  3. tag.html
  4. archive.html
  5. index.html

Özel taksonomi arşivi

Özel bir taksonomideki bir terimin arşivi.

  1. taxonomy-{taxonomy}-{term}.html
  2. taxonomy-{taxonomy}.html
  3. taxonomy.html
  4. archive.html
  5. index.html

Yazar arşivi

Tek bir yazarın yazılarının arşivi.

  1. author-{nicename}.html
  2. author-{id}.html
  3. author.html
  4. archive.html
  5. index.html

Tarih arşivi

Yıl / ay / gün arşivi.

  1. date.html
  2. archive.html
  3. index.html

Yazı türü arşivi

has_archive özelliği ayarlanmış bir özel yazı türünün arşiv dizini.

  1. archive-{post-type}.html
  2. archive.html
  3. index.html

Arama sonuçları

Site içi bir aramanın sonuç sayfası.

  1. search.html
  2. index.html

404 (bulunamadı)

URL ile eşleşen bir içerik olmadığında gösterilir.

  1. 404.html
  2. index.html

Ek sayfası

Tek bir medya ekinin sayfası.

  1. attachment.html
  2. single.html
  3. singular.html
  4. index.html

Birçok site ek sayfalarını tamamen devre dışı bırakır (zayıf içerikli olurlar). Bunları koruyorsanız zincir şöyledir.

Gizlilik politikası sayfası

Ayarlar'da sitenin gizlilik politikası olarak belirlenen sayfa.

  1. page-privacy-policy.html
  2. privacy-policy.html
  3. page.html
  4. singular.html
  5. index.html

Bunun klasik (PHP) hiyerarşisinden farkı

  • Şablonlar, tema kök dizinindeki .php dosyaları değil, /templates içindeki .html dosyalarıdır. single.php diye bir şey yoktur; single.html vardır.
  • Yeniden kullanılabilir bölgeler (üst bilgi, alt bilgi), get_header() / get_footer() PHP çağrılarıyla değil, /parts içinde bulunan ve wp:template-part bloğuyla referans verilen şablon PARÇALARIDIR.
  • get_template_part() zinciri yoktur ve get_header()/get_footer() yoktur. Kompozisyon, .html dosyaları içindeki Şablon Parçası bloğuyla yapılır.
  • index.html ZORUNLUDUR. templates/index.html içermeyen bir block theme geçerli bir block theme değildir; yukarıdaki her rota için zorunlu son yedektir.
  • Tema, herhangi bir başlık bayrağıyla değil, templates/index.html'in VARLIĞI ve bir theme.json ile block theme olarak tanımlanır.
  • Bu şablonların herhangi birini Site Düzenleyici'de (Görünüm → Düzenleyici) düzenleyip değişiklikleri veritabanına kaydedebilirsiniz; bu değişiklikler, siz özelleştirmeyi temizleyene kadar temanın dosyalarını GEÇERSİZ KILAR. \"Şablon değişikliğim neden hiçbir şey yapmıyor\" diye hata ayıklayan kişileri şaşırtan durum budur.