Przejdź do treści
Materiały źródłowe

Hierarchia szablonów motywu blokowego WordPress

Pełna hierarchia szablonów motywu blokowego (FSE): dla każdego typu żądania uporządkowana lista szablonów, których szuka WordPress — od najbardziej szczegółowego, z awaryjnym powrotem do index.html. Odpowiednik klasycznego diagramu hierarchii w erze bloków.

Dla każdego żądania WordPress szuka tych szablonów w kolejności — najpierw najbardziej szczegółowych — i zatrzymuje się na pierwszym, który istnieje w folderze /templates Twojego motywu. Łańcuch zawsze kończy się na index.html.

Strona główna

Strona główna witryny, niezależnie od tego, czy wyświetla najnowsze wpisy, czy stronę statyczną.

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

front-page.html ma pierwszeństwo niezależnie od ustawienia w Ustawienia → Czytanie. Jeśli stroną główną jest strona statyczna i nie ma pliku front-page.html, obsługę przejmuje łańcuch strony statycznej, a nie home.html.

Strona wpisów bloga

Strona wyświetlająca najnowsze wpisy (czyli „strona wpisów” w Ustawienia → Czytanie).

  1. home.html
  2. index.html

Pojedynczy wpis

Pojedynczy wpis bloga.

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

Pojedynczy wpis własnego typu treści

Pojedynczy wpis własnego typu treści (np. „książka”).

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

Dla typu treści „book” o slugu „dune”: single-book-dune.html, następnie single-book.html, następnie single.html.

Strona statyczna

Zwykła strona WordPress.

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

Strona z własnym szablonem

Strona z przypisanym własnym szablonem w panelu Szablon w edytorze.

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

Własne szablony deklaruje się w tablicy customTemplates w theme.json i przechowuje w katalogu /templates. Przypisany szablon ma pierwszeństwo przed całym łańcuchem strony.

Archiwum kategorii

Archiwum wyświetlające wpisy z jednej kategorii.

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

Archiwum tagu

Archiwum wyświetlające wpisy z jednym tagiem.

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

Archiwum własnej taksonomii

Archiwum dla terminu we własnej taksonomii.

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

Archiwum autora

Archiwum wpisów jednego autora.

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

Archiwum według daty

Archiwum roczne / miesięczne / dzienne.

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

Archiwum typu treści

Strona archiwum własnego typu treści, który ma ustawione has_archive.

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

Wyniki wyszukiwania

Strona wyników wyszukiwania w witrynie.

  1. search.html
  2. index.html

404 (nie znaleziono)

Wyświetlana, gdy żadna treść nie pasuje do adresu URL.

  1. 404.html
  2. index.html

Strona załącznika

Strona pojedynczego załącznika multimedialnego.

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

Wiele witryn całkowicie wyłącza strony załączników (to uboga treść). Jeśli je zachowujesz, oto łańcuch szablonów.

Strona polityki prywatności

Strona ustawiona w Ustawieniach jako polityka prywatności witryny.

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

Czym różni się to od klasycznej hierarchii (PHP)

  • Szablony to pliki .html w katalogu /templates, a nie pliki .php w katalogu głównym motywu. Nie ma pliku single.php — jest single.html.
  • Wielokrotnie używane obszary (nagłówek, stopka) to CZĘŚCI szablonów w katalogu /parts, dołączane blokiem wp:template-part, a nie wywołaniami PHP get_header() / get_footer().
  • Nie ma łańcucha get_template_part() ani get_header()/get_footer(). Kompozycję buduje się blokiem Część szablonu wewnątrz plików .html.
  • index.html jest WYMAGANY. block theme bez pliku templates/index.html nie jest prawidłowym block theme — to obowiązkowy, ostateczny fallback dla każdej z powyższych ścieżek.
  • Motyw jest uznawany za block theme dzięki OBECNOŚCI pliku templates/index.html oraz theme.json, a nie za sprawą jakiejkolwiek flagi w nagłówku.
  • Każdy z tych szablonów możesz edytować w Edytorze witryny (Wygląd → Edytor) i zapisać zmiany w bazie danych — które wtedy NADPISUJĄ pliki motywu, dopóki nie wyczyścisz personalizacji. To zaskakuje osoby próbujące rozgryźć „dlaczego moja zmiana w szablonie nic nie robi”.