Ierarhia șabloanelor pentru teme bloc WordPress
Ierarhia completă a șabloanelor pentru teme bloc (FSE): pentru fiecare tip de cerere, lista ordonată de șabloane pe care WordPress le caută, de la cel mai specific, revenind la index.html. Echivalentul din era blocurilor al clasicei diagrame de ierarhie.
Pentru fiecare cerere, WordPress caută aceste șabloane în ordine — mai întâi cele mai specifice — și se oprește la primul care există în folderul /templates al temei tale. Lanțul se termină întotdeauna cu index.html.
Prima pagină
Prima pagină a site-ului, indiferent dacă este setată să afișeze cele mai recente articole sau o pagină statică.
- front-page.html
- home.html
- index.html
front-page.html are prioritate indiferent de alegerea din Setări → Citire. Dacă prima pagină este o pagină statică și nu există front-page.html, se trece pe lanțul paginii statice, nu pe home.html.
Indexul articolelor de blog
Pagina care listează cele mai recente articole (pagina „articole” din Setări → Citire).
- home.html
- index.html
Articol individual
Un articol de blog individual.
- single-post-{slug}.html
- single-post.html
- single.html
- singular.html
- index.html
Tip de conținut personalizat individual
O intrare individuală dintr-un tip de conținut personalizat (de exemplu, o „carte”).
- single-{post-type}-{slug}.html
- single-{post-type}.html
- single.html
- singular.html
- index.html
Pentru un tip de conținut „book” cu slug-ul „dune”: single-book-dune.html, apoi single-book.html, apoi single.html.
Pagină statică
O pagină WordPress obișnuită.
- page-{slug}.html
- page-{id}.html
- page.html
- singular.html
- index.html
Pagină cu un șablon personalizat
O pagină căreia i s-a atribuit un șablon personalizat din panoul Șablon al editorului.
- {custom-template}.html
- page-{slug}.html
- page-{id}.html
- page.html
- singular.html
- index.html
Șabloanele personalizate sunt declarate în array-ul customTemplates din theme.json și se află în /templates. Cel atribuit are prioritate față de întregul lanț al paginii.
Arhivă de categorie
Arhiva care listează articolele dintr-o categorie.
- category-{slug}.html
- category-{id}.html
- category.html
- archive.html
- index.html
Arhivă de etichetă
Arhiva care listează articolele cu o anumită etichetă.
- tag-{slug}.html
- tag-{id}.html
- tag.html
- archive.html
- index.html
Arhivă de taxonomie personalizată
Arhiva pentru un termen dintr-o taxonomie personalizată.
- taxonomy-{taxonomy}-{term}.html
- taxonomy-{taxonomy}.html
- taxonomy.html
- archive.html
- index.html
Arhivă de autor
Arhiva articolelor unui autor.
- author-{nicename}.html
- author-{id}.html
- author.html
- archive.html
- index.html
Arhivă de dată
O arhivă pe an / lună / zi.
- date.html
- archive.html
- index.html
Arhivă de tip de conținut
Indexul de arhivă pentru un tip de conținut personalizat care are has_archive setat.
- archive-{post-type}.html
- archive.html
- index.html
Rezultatele căutării
Pagina cu rezultate pentru o căutare pe site.
- search.html
- index.html
404 (negăsit)
Afișată când niciun conținut nu corespunde URL-ului.
- 404.html
- index.html
Pagină de atașament
Pagina pentru un singur atașament media.
- attachment.html
- single.html
- singular.html
- index.html
Multe site-uri dezactivează complet paginile de atașament (sunt conținut subțire). Dacă le păstrezi, acesta este lanțul.
Pagina politicii de confidențialitate
Pagina setată ca politică de confidențialitate a site-ului în Setări.
- page-privacy-policy.html
- privacy-policy.html
- page.html
- singular.html
- index.html
Prin ce diferă de ierarhia clasică (PHP)
- Șabloanele sunt fișiere .html din /templates, nu fișiere .php din rădăcina temei. Nu există single.php — este single.html.
- Regiunile reutilizabile (header, footer) sunt PĂRȚI de șablon din /parts, referențiate cu blocul wp:template-part, nu prin apeluri PHP get_header() / get_footer().
- Nu există niciun lanț get_template_part() și niciun get_header()/get_footer(). Compoziția se face cu blocul Template Part în interiorul fișierelor .html.
- index.html este OBLIGATORIU. Un block theme fără templates/index.html nu este un block theme valid — este ultima soluție de rezervă obligatorie pentru fiecare rută de mai sus.
- Tema este declarată block theme prin PREZENȚA fișierului templates/index.html plus a unui theme.json, nu printr-un flag din header.
- Poți edita oricare dintre aceste șabloane în Editorul de site (Aspect → Editor) și salva modificările în baza de date — care apoi ANULEAZĂ fișierele temei până când ștergi personalizarea. Acest lucru îi surprinde pe cei care depanează „de ce modificarea șablonului meu nu are niciun efect”.