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 zmiennychNie (trzeba set_query_var)Tak (dziedziczy z zasięgu)
Styl WordPressTakMniej formalny
Obsługa motywu potomnegoTakTak
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()
Wordpress

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,...