Lompat ke konten
Referensi

Hierarki Templat Tema Blok WordPress

Hierarki templat tema blok (FSE) lengkap: untuk setiap jenis permintaan, daftar berurutan templat yang dicari WordPress, dari yang paling spesifik lebih dulu, hingga jatuh kembali ke index.html. Padanan era blok dari bagan hierarki klasik.

Untuk setiap permintaan, WordPress mencari template-template ini secara berurutan — yang paling spesifik lebih dulu — dan berhenti pada template pertama yang ada di folder /templates tema Anda. Rangkaian ini selalu berakhir di index.html.

Halaman depan

Halaman depan situs, baik yang diatur untuk menampilkan postingan terbaru maupun sebuah halaman statis.

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

front-page.html selalu menang, terlepas dari pilihan di Pengaturan → Membaca. Jika halaman depan adalah halaman statis dan tidak ada front-page.html, alurnya jatuh ke rantai halaman statis, bukan ke home.html.

Indeks postingan blog

Halaman yang menampilkan daftar postingan terbaru Anda (\"halaman postingan\" di Pengaturan → Membaca).

  1. home.html
  2. index.html

Postingan tunggal

Sebuah postingan blog individual.

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

Custom post type tunggal

Sebuah entri individual dari suatu custom post type (misalnya sebuah \"book\").

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

Untuk post type \"book\" dengan slug \"dune\": single-book-dune.html, lalu single-book.html, lalu single.html.

Halaman statis

Sebuah halaman WordPress biasa.

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

Halaman dengan template kustom

Sebuah halaman yang ditetapkan template kustom melalui panel Template di editor.

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

Template kustom dideklarasikan di array customTemplates pada theme.json dan berada di /templates. Template yang ditetapkan akan menang atas seluruh rantai halaman.

Arsip kategori

Arsip yang menampilkan daftar postingan dalam satu kategori.

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

Arsip tag

Arsip yang menampilkan daftar postingan dengan satu tag.

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

Arsip taksonomi kustom

Arsip untuk sebuah term dalam taksonomi kustom.

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

Arsip penulis

Arsip berisi postingan dari satu penulis.

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

Arsip tanggal

Arsip berdasarkan tahun / bulan / hari.

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

Arsip post type

Indeks arsip untuk suatu custom post type yang memiliki has_archive yang diaktifkan.

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

Hasil pencarian

Halaman hasil untuk pencarian di situs.

  1. search.html
  2. index.html

404 (tidak ditemukan)

Ditampilkan ketika tidak ada konten yang cocok dengan URL.

  1. 404.html
  2. index.html

Halaman lampiran

Halaman untuk sebuah lampiran media tunggal.

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

Banyak situs menonaktifkan halaman lampiran sepenuhnya (kontennya tipis). Jika Anda mempertahankannya, inilah rantainya.

Halaman kebijakan privasi

Halaman yang diatur sebagai kebijakan privasi situs di Pengaturan.

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

Perbedaannya dengan hierarki klasik (PHP)

  • Template adalah file .html di /templates, bukan file .php di root tema. Tidak ada single.php — yang ada adalah single.html.
  • Region yang dapat digunakan ulang (header, footer) adalah template PART di /parts, yang dirujuk dengan blok wp:template-part, bukan panggilan PHP get_header() / get_footer().
  • Tidak ada rantai get_template_part() dan tidak ada get_header()/get_footer(). Komposisi dilakukan dengan blok Template Part di dalam file .html.
  • index.html WAJIB ada. Sebuah block theme tanpa templates/index.html bukanlah block theme yang valid — file ini adalah fallback akhir yang wajib untuk setiap rute di atas.
  • Sebuah tema dinyatakan sebagai block theme oleh KEBERADAAN templates/index.html ditambah theme.json, bukan oleh flag header apa pun.
  • Anda dapat mengedit template mana pun di antara ini melalui Site Editor (Tampilan → Editor) dan menyimpan perubahannya ke database — yang kemudian akan MENGGANTI file tema sampai Anda menghapus kustomisasinya. Hal ini mengejutkan orang yang sedang men-debug \"kenapa perubahan template saya tidak berpengaruh\".