Wprowadzenie do hierarchii szablonów WordPress

Opublikowany: 2019-12-11

Jedno z kluczowych pytań, które użytkownicy WordPressa zadają w pewnym momencie swojego życia, brzmi: w jaki sposób motywy WordPress potrafią wyświetlać różne strony w zależności od treści, które oglądamy?

Pytanie, oprócz tego, że jest całkowicie uzasadnione, jest bardzo interesujące. WordPress jest w stanie określić, jakie treści zamierzają wyrenderować i, w zależności od typu, użyć jednego lub drugiego szablonu. Motywy WordPress to nic innego jak zestaw konkretnych szablonów dla każdego typu treści z pewnym JavaScriptem dla elementów dynamicznych i CSS dla stylów i kolorów.

Idealnie, ale… jak właściwie działają szablony WordPress? Oto, co zobaczymy krok po kroku w tym poście.

Zanim jednak zaczniemy, pokażę Wam obrazek z odpowiedzią na to pytanie:

Hierarchia szablonów WordPress
Hierarchia szablonów WordPress.

To jest hierarchia szablonów WordPress. Wszystkie informacje na ten temat można znaleźć w Kodeksie WordPress, oficjalnej dokumentacji. Możesz nawet wchodzić w interakcję z tą hierarchią na tej fajnej stronie internetowej.

Zasadniczo WordPress używa hierarchii szablonów do renderowania swojej zawartości. Oznacza to, że WordPress wyszukuje w aktywnym motywie określony plik PHP. Jeśli istnieje, WordPress renderuje treść przy użyciu tego pliku, który nazywamy szablonem. Jeśli tak się nie stanie, WordPress szuka następnego najbardziej ogólnego szablonu w hierarchii. Jeśli istnieje, używa go WordPress. W przeciwnym razie WordPress szuka następnego szablonu w hierarchii… i tak dalej. Jeśli WordPress nie może znaleźć określonego pliku szablonu w twoim motywie, użyje domyślnego pliku index.php , najbardziej ogólnego ze wszystkich szablonów.

Teraz przyjrzyjmy się bardziej szczegółowo hierarchii szablonów niektórych z najpopularniejszych treści WordPress.

Szablony stron

Zobaczmy szablony, których WordPress używa do renderowania stron i prostych typów treści.

Posty i niestandardowe typy postów

WordPress analizuje następujące pliki PHP w Twoim motywie, aby wyrenderować post na blogu lub niestandardowy typ posta:

  1. single-{post-type}-{slug}.php : jeśli chcesz mieć określony szablon dla określonego posta lub określonego typu posta, musisz utworzyć ten plik PHP w swoim motywie. Jego nazwa zawiera nazwę typu posta ( {post-type} ), którą może być post lub cokolwiek innego ( produkt , jeśli korzystasz z WooCommerce). Musisz także wpisać ślimak lub permalink, nazwij to, jak chcesz, w nazwie szablonu. Na przykład, jeśli chcę użyć konkretnego szablonu dla tego posta, musiałbym utworzyć plik single-post-introduction-to-the-wordpress-template-hierarchy.php .
  2. single-{post-type}.php : jeśli chcemy wpłynąć na całą zawartość określonego typu posta (wszystkie posty lub wszystkie produkty), użyjemy tego szablonu, którego nazwa zawiera tylko nazwę typu posta.
  3. single.php : WordPress używa tego szablonu do renderowania dowolnej pojedynczej treści (określonego posta, określonego produktu itp.).
  4. singular.php : jest to kolejny szablon najwyższego poziomu do renderowania pojedynczej zawartości dowolnego rodzaju.
  5. index.php : jeśli nie znaleziono żadnego z powyższych, WordPress używa tego ogólnego szablonu do renderowania treści.

Pamiętaj, że w katalogu motywów WordPress masz do dyspozycji tysiące przykładów motywów WordPress. Zalecam pobranie jednego z nich i spróbowanie, jako ćwiczenia edukacyjnego, sprawdzenia jego plików PHP i zidentyfikowania szablonów, które właśnie zaprezentowałem.

W ten sposób możesz zrozumieć, jakich szablonów używają w hierarchii szablonów WordPress i zobaczyć, jaką zawartość ma każdy z tych szablonów. Bez wątpienia, jeśli chcesz poznać motywy WordPress, jest to coś obowiązkowego do zrobienia. Co więcej, to nic nie kosztuje!

Zwykłe strony

Podobnie jak w przypadku postów i innych typów postów, WordPress używa hierarchii szablonów do renderowania stron:

  1. Wybrany szablon: jeśli z pola atrybutów strony podczas edycji strony wybierzesz określony szablon, zawsze ma on pierwszeństwo przed wszystkimi innymi. Tutaj możesz nauczyć się tworzyć niestandardowe szablony.
  2. page-{slug}.php : jeśli chcesz, aby konkretna strona miała swój własny szablon, utwórz ten szablon w pliku PHP, który zawiera informacje o stronie w nazwie.
  3. page-{id}.php : możesz również bezpośrednio użyć identyfikatora strony WordPress, na której zastosowano szablon.
  4. page.php : ten szablon dotyczy wszystkich stron WordPress, chyba że jeden z poprzednich szablonów w hierarchii został już zastosowany.
  5. singular.php : szablon singular jest domyślnym szablonem dla wszystkich stron, postów, produktów i tak dalej. Ten szablon będzie rzadko stosowany, ponieważ większość motywów w WordPress zawiera już szablon page.php .
  6. index.php : jak zawsze jest to domyślny szablon zastępczy WordPressa.

Teraz spróbuj ponownie sprawdzić pobrany wcześniej motyw, a zobaczysz, że teraz rozumiesz trochę więcej innych plików, które się tam pojawiają. Z pewnością możesz teraz zidentyfikować pliki PHP dla szablonów stron.

Strony specjalne

W WordPressie istnieją inne specjalne strony, które również wykorzystują określone szablony do renderowania treści. Przykładem tego jest strona główna serwisu. Pamiętaj, że strona główna jest wybierana w Ustawieniach WordPressa, w podmenu Czytanie . Dla tej strony używana jest następująca hierarchia szablonów:

  1. front-page.php : jeśli używasz statycznej strony jako strony głównej w WordPressie, najpierw spróbuje ona zastosować szablon front-page.php .
  2. home.php : jeśli poprzedni szablon nie zostanie znaleziony, WordPress spróbuje użyć tego szablonu. Ten szablon jest również używany, jeśli zamiast wybrać stronę statyczną jako stronę główną, wybrałeś opcję wyświetlania najnowszych postów.
  3. index.php : ponownie, szablon domyślny jest zawsze obecny.

Strona, która pokazuje wyniki wyszukiwania Twojego WordPressa, jest również specjalną stroną, która może mieć własny szablon. W tym celu możesz użyć szablonu search.php . Jeśli twój motyw go nie definiuje, index.php zostanie użyty jak zwykle.

Wreszcie, stronę wyświetlaną, gdy Twoja witryna zwraca błąd 404, można również skonfigurować za pomocą określonego szablonu WordPress. Musisz utworzyć plik 404.php w swoim motywie, a następnie ten szablon zostanie zastosowany.

Szablony do archiwów

Do tej pory widzieliśmy szablony dla pojedynczych treści (z wyjątkiem wyników wyszukiwania). Ale w WordPressie są też archiwa, które mogą renderować więcej niż jeden element na stronie. Zobaczmy, jakiej hierarchii szablonów używa WordPress w tym przypadku.

Kategorie i Tagi

WordPress używa następującej hierarchii szablonów dla kategorii:

  1. category-{slug}.php : ten szablon jest używany do renderowania listy treści (zwykle postów), które należą do określonej kategorii. W szczególności będzie używany podczas renderowania kategorii, której slug pojawia się w nazwie pliku PHP.
  2. category-{id}.php : jeśli wolisz używać identyfikatorów kategorii zamiast ślimaków, możesz to również zrobić. Na przykład, jeśli chcesz zastosować szablon do kategorii 13, utwórz plik szablonu o nazwie category-13.php .
  3. category.php : domyślny szablon dla wszystkich kategorii.
  4. archive.php : jest to najbardziej ogólny szablon dla archiwów w WordPress.
  5. index.php : ponownie, jeśli Twój motyw nie zawiera bardziej szczegółowego szablonu, WordPress domyślnie użyje tego pliku.

Dla tagów używana jest następująca hierarchia szablonów:

  1. tag-{slug}.php : jeśli tag nazywa się wywiad , możemy użyć szablonu tag-interview.php na wypadek, gdybyśmy chcieli zaprojektować konkretny szablon dla tego tagu w WordPressie.
  2. tag-{id}.php : możemy również zdefiniować szablon poprzez identyfikator tagu.
  3. tag.php : podobnie jak category.php , jest to ogólny szablon dla tagów.
  4. archive.php : ponownie, ten szablon zostanie użyty, jeśli żaden z powyższych nie istnieje.
  5. index.php : jak zawsze jest to szablon zastępczy.

Niestandardowe typy postów i niestandardowe taksonomie

Jeśli mamy niestandardowe typy treści, możemy użyć archiwum szablonów- archive-{post_type}.php , gdzie post_type jest ślimakiem niestandardowego typu postu. Spowoduje to wyświetlenie listy treści dla tego typu postu.

W przypadku niestandardowych taksonomii WordPress używa następującej hierarchii szablonów:

  1. taxonomy-{taxonomy}-{term}.php : jeśli masz niestandardową taksonomię o nazwie gry wideo w WordPress i chcesz utworzyć szablon z określonym projektem dla terminu sport w tej taksonomii, będziesz musiał utworzyć plik taxonomy-videogames-sports.php , aby użyć tego szablonu.
  2. taxonomy-{taxonomy}.php : jeśli chcesz użyć tego samego szablonu dla wszystkich terminów taksonomii, po prostu użyj taxonomy-videogames.php , w poprzednim przykładzie.
  3. taxonomy.php : jest to domyślny szablon dla wszystkich taksonomii.
  4. archive.php : jeśli żaden z powyższych szablonów nie istnieje, dotyczy to.
  5. index.php : ponownie, jest to domyślny szablon zastępczy.

Dzięki tym wszystkim objaśnieniom powinieneś już mieć wszystko, czego potrzebujesz do tworzenia i identyfikowania szablonów w motywach WordPress.

Podsumowując

Zrozumienie hierarchii szablonów WordPress jest kluczem do zrozumienia motywów, a nawet opracowania własnych. Nigdy nie zaszkodzi spojrzeć na to i wiedzieć, jak to działa, aby zyskać pewność siebie, gdy zaczniesz modyfikować kod PHP motywu, którego używasz w naszym WordPressie.

Istnieje kilka innych szablonów, ale rzadziej używanych. W każdym razie pamiętaj, że zawsze możesz udać się do dokumentacji WordPress Codex. Znajdziesz tam wszystko, co nie zostało tutaj wyjaśnione.

Co myślisz o tym wszystkim? Czy nadal używasz szablonów do treści WordPress, czy już budujesz wszystkie projekty z bloków? Nie zapomnij zostawić mi komentarza poniżej, jeśli dotarłeś do końca postu — chciałbym wiedzieć, jak korzystasz z szablonów WordPress!

Polecane zdjęcie Edvarda Alexandra Rlvaaga na Unsplash .