WordPress
Hierarchia szablonów
Szukaj…
Uwagi
Wtyczki do debugowania w WordPress:
Wprowadzenie
Jedną z najważniejszych rzeczy do nauczenia się podczas tworzenia motywu WordPress jest hierarchia szablonów WordPress dla motywów. Hierarchia szablonów określa, jaki plik szablonu zostanie załadowany dla każdego żądania i w jakiej kolejności. Jeśli pierwszy szablon nie istnieje w hierarchii, WordPress będzie próbował załadować następny i tak dalej, dopóki nie skończysz w index.php
.
Aby szczegółowo opisać hierarchię szablonów, najlepszym sposobem jest oczywiście użycie obrazu o pełnej strukturze:
Hierarchia szablonów rozpoczyna się od podstawowych typów stron, takich jak archiwum, pojedyncza strona lub strona początkowa, a następnie podtypy, takie jak archiwum autora, archiwum znaczników, strona lub post na blogu.
Następnie znajdziemy aktualne szablony, które zostaną załadowane. Najpierw są najbardziej szczegółowe szablony, które wykorzystują ślimaki lub identyfikatory w celu kierowania na określone typy archiwów lub posty.
Na przykład category-$slug.php
która jest kierowana tylko na określoną kategorię ślimaka, na przykład category-books.php
byłaby używana tylko dla kategorii z book
category-books.php
. Innym przykładem jest page-$id.php
który jest kierowany tylko na stronę o określonym identyfikatorze, na przykład page-41.php
byłby kierowany tylko na stronę o identyfikatorze 41.
Po szablonach ukierunkowanych na określone typy lub posty przechodzimy do szablonów typów ogólnych, takich jak archive.php dla wszystkich stron archiwum lub page.php
dla wszystkich stron. Pamiętaj jednak, że zostaną one użyte tylko wtedy, gdy bieżąca strona nie pasuje do żadnego z szablonów znajdujących się wyżej w hierarchii.
Na koniec, jeśli WordPress nie może znaleźć pasujących szablonów w katalogu szablonów, ostatnią rezerwową wersją jest zawsze index.php
który jest jedynym wymaganym plikiem szablonu w kompozycji WordPress.
Debugowanie
Podczas debugowania hierarchii łatwo się zgubić. Możesz użyć wbudowanego polecenia PHP debug_backtrace
.
Umieść następny fragment kodu w dowolnym szablonie, który chcesz debugować, i wyświetl wygenerowaną stronę:
<!--
<?php print_r( debug_backtrace() ) ?>
-->