Dołączanie plików z motywu w WordPress
Do dołączania plików z motywu w WordPress służą zarówno include locate_template() jak i get_template_part(), ale mają inne przeznaczenie i zachowanie. Oto różnice:
get_template_part()
Służy do
- modularnego ładowania szablonów – np. content-single.php, content-page.php
- obsługuje hierarchię szablonów (np. motyw potomny → motyw nadrzędny)
Użycie
get_template_part('partials/section-tiles');
Automatycznie dołączy: wp-content/themes/twoj-motyw/partials/section-tiles.php
Zalety
- bardziej „WordPressowy” sposób
- działa z motywami potomnymi – najpierw szuka w motywie potomnym
- bezpieczny i czytelny
- przejrzysta struktura template
Ograniczenia
- nie przekazuje zmiennych automatycznie do pliku
- aby przekazać zmienną, trzeba użyć
set_query_var()
+get_query_var()
, jak w przykładzie poniżej
set_query_var('my_var', $value); get_template_part('partials/section-tiles'); // w section-tiles.php $value = get_query_var('my_var');
include locate_template()
Służy do
- manualnego dołączania plików z możliwością przekazywania zmiennych z zasięgu
- wspiera motywy potomne
Użycie
include locate_template('partials/section-tiles.php');
Zalety
- możesz używać zmiennych lokalnych bez przekazywania ich przez WordPress
- bardziej elastyczne przy dynamicznych danych
Ograniczenia
- mniej „czyste” z punktu widzenia WP
- brak nazwanych fallbacków jak w get_template_part(’content’, 'single’)
Podsumowanie różnic
get_template_part() | include locate_template() | |
---|---|---|
Obsługa zmiennych | Nie (trzeba set_query_var) | Tak (dziedziczy z zasięgu) |
Styl WordPress | Tak | Mniej formalny |
Obsługa motywu potomnego | Tak | Tak |
Dodatkowe parametry (np. get_template_part('loop', 'single')) | Tak | ❌ Nie |
Użycie w bardziej dynamicznych przypadkach | ❌ Ograniczone | ✅ Elastyczne |
Kiedy używać czego?
- do prostych fragmentów HTML/PHP layoutu: get_template_part()
- by przekazać zmienne PHP do szablonu: include locate_template()
- w komponentach z wieloma parametrami (np. WP_Query): include locate_template()
Hope this helps and happy coding :)
Zobacz jeszcze
Graphic Design - pojęcia
Pojęcia web design - obejmuje wygląd, układ, strukturę i zawartość strony internetowej digital design - szersze pojęcie, obejmujące również projektowanie banerów, motion graphics,...