Tworzenie, dostosowywanie i adaptacja motywów WordPress

5.00/5 - (17 głosów)
11 min czytania
Przewodnik

#Tworzenie stron WordPress i sklepów oraz adaptacja

Większość projektów, które do nas trafiają, to nie greenfield. To kod odziedziczony po poprzednim wykonawcy, najczęściej z lat 2018-2020, z functions.php rozrośniętym do 1500-2000 linii, kilkoma “must-use” wtyczkami zainstalowanymi nieformalnie i hierarchią szablonów, która rozsypuje się przy pierwszym custom post type. To stała część naszej pracy, nie wyjątek.

Adaptujemy taką bazę zamiast łatać kolejne miejsce z błędem. Decyzja, czy mapujemy istniejący motyw na block theme z theme.json, czy zostajemy przy klasycznym motywie po refaktoryzacji, zapada po review kodu, a nie wcześniej.

#Block theme czy motyw klasyczny w 2026

Full Site Editing jest dziś domyślnym punktem wyjścia dla nowych projektów WordPress. Wybór między motywem blokowym a klasycznym nie jest już kwestią stylu, tylko architektury, z konsekwencjami dla edytora, przenośności treści i ilości PHP do utrzymania.

Block theme ma sens, kiedy redakcja potrzebuje bezpośredniej kontroli nad układem, kiedy serwis opiera się na powtarzalnych wzorcach zamiast sztywnych szablonów i kiedy większość intencji projektowych można wyrazić w theme.json. Konfiguracja obejmuje paletę kolorów, fluidową typografię przez clamp(), skalę odstępów i wariacje stylów per blok. W połączeniu z register_block_pattern_category oraz biblioteką wzorców rejestrowanych przez register_block_pattern redakcja dostaje kontrolowany zestaw komponentów zamiast wolnego płótna.

Motyw klasyczny pozostaje uzasadniony w wąskich przypadkach: rozbudowany sklep WooCommerce z własnymi szablonami checkoutu, wieloletni proces redakcyjny powiązany z PHP-owymi częściami szablonu, projekt mocno oparty na ACF, do którego redakcja jest przyzwyczajona. Nie migrujemy działających klasycznych motywów do FSE dla samej zasady. Migrujemy wtedy, kiedy koszt utrzymania starej struktury przekracza koszt przebudowy.

Czego unikamy: block theme, który omija theme.json i hardkoduje style w CSS, albo klasyczny motyw doklejony do pojedynczych bloków Gutenberga. Oba wzorce produkują rozdzieloną logikę, przez którą prosta poprawka zmienia się w tydzień śledztwa rok później.

#Custom blocks w sensowny sposób

Customowe bloki należą do @wordpress/scripts, z plikiem block.json opisującym atrybuty, supports i skrypty edytora. Renderowanie po stronie serwera przez render_callback utrzymuje spójność markupu między edytorem a frontendem, eliminuje hydration mismatch i pozwala ewoluować HTML bez psucia starszych wpisów. Statyczne bloki zapisywane do post_content nadal mają sens dla czysto strukturalnych elementów (callout, wrapper layoutu), ale wszystko, co zależy od dynamicznych danych, powinno renderować się serwerowo.

#Wydajność tam, gdzie naprawdę widać

Cele Core Web Vitals, według których pracujemy: LCP poniżej 2,0 s, CLS poniżej 0,05, INP poniżej 200 ms. Osiąganie tych liczb na realnej instalacji WordPressa polega głównie na usuwaniu, nie dodawaniu. Inline’ujemy krytyczny CSS dla widoku above the fold, odraczamy lub usuwamy renderujący JavaScript, zdejmujemy zależność od jQuery, którą klasyczne motywy nadal wciągają, rezerwujemy miejsce na media, żeby trzymać CLS w ryzach. Nie chodzi o wynik audytu. Chodzi o to, że LCP 2,4 s i LCP 0,7 s zachowują się inaczej w danych konwersji, a tę drugą wartość daje się osiągnąć na współdzielonym hostingu z poprawnie zbudowanym motywem.

#Praca z motywami odziedziczonymi po poprzednim wykonawcy

Polskie agencje internetowe często wracają do nas z motywami z lat 2018-2020, które przeszły przez ręce dwóch lub trzech zespołów. Refaktoryzacja takich projektów to jeden z najczęstszych kształtów naszej pracy. Wzorce, które rozplątujemy:

  • Motywy potomne nadpisujące rodzica bezpośrednio w functions.php zamiast przez add_filter i add_action, więc aktualizacja motywu rodzica po cichu psuje połowę serwisu.
  • Motywy zbudowane przed Gutenbergiem, rejestrujące sidebary i widgety nieużywane przez redakcję od dwóch lat, ale wciąż ładujące swoje zasoby na każdej podstronie.
  • Customowe szablony stron oparte na zmiennych globalnych ustawianych w header.php, które znikają, gdy WordPress przechodzi na blokowy header pattern.
  • Nadpisania szablonów WooCommerce skopiowane ze starszych wersji wtyczki, dryfujące dwa lub trzy minor release za kanonicznymi szablonami.

Nie łatamy w miejscu. Mapujemy każdą custom funkcję na blok, wzorzec albo małą skupioną wtyczkę, a potem przebudowujemy motyw na bazie theme.json i czystej hierarchii szablonów. Stary motyw zostaje na stagingu, dopóki nowy nie przejdzie testów parity.

#Niedawna przebudowa

Jedno zlecenie, które dobrze oddaje typowy kształt tej pracy: motyw z 2018 roku, około 1400 linii functions.php, sześć obszarów widgetów, z których redakcja przestała korzystać, LCP 2,4 s na stronie głównej. Serwis polegał na trzech wtyczkach istniejących wyłącznie po to, żeby obejść ograniczenia oryginalnego motywu: jedna renderowała własne shortcody, druga próbowała odkręcić CSS blokujący renderowanie, trzecia spinała walker menu z biblioteką megamenu.

Przebudowa przeniosła całą warstwę na motyw blokowy. Fluidowa typografia i skala odstępów wylądowały w theme.json. Shortcody zamieniły się w cztery własne bloki zbudowane z @wordpress/scripts i renderowane serwerowo. Megamenu zwinęło się do natywnego bloku nawigacyjnego plus jednego wzorca. Po uruchomieniu LCP spadło do 700 ms na tym samym hostingu, trzy łatkowe wtyczki wyleciały, a functions.php skurczył się do około 180 linii robiących tylko to, czego nie da się wyrazić w theme.json ani w konfiguracji bloków. Praca redakcji poprawiła się przy okazji: zespół przestał otwierać zgłoszenia z prośbami o dodanie sekcji, bo wzorce dawały im to, czego potrzebowali.

#Praca redakcyjna po polsku

Polskie projekty w naszych rękach to zwykle dwujęzyczność PL/EN przez WPML albo Polylang, czasem trójjęzyczność z dołożonym DE. Konfigurujemy theme.json tak, żeby paleta kolorów, kroje pisma i wzorce blokowe były neutralne wobec języka, a same wzorce mają warianty z poprawnie sformatowanymi cudzysłowami drukarskimi („…”) i polską typografią (myślnik półpauzowy zamiast en/em-dasha, niełamliwe spacje przed jednoliterowymi przyimkami w nagłówkach).

Redakcja najczęściej dostaje od nas zestaw 8-12 wzorców pokrywających cykl publikacji: lead z autorem, callout, cytat, pull quote, bibliografię, dwie wersję CTA i kilka layoutów dwukolumnowych. WPML String Translation jest wpięty w theme.json na poziomie etykiet wzorców, co eliminuje typową bolączkę polskich redakcji - mieszanie polskich i angielskich nazw bloków w jednym wpisie.

#Dedykowany motyw kontra dobrze skonfigurowany motyw blokowy

Pracę nad dedykowanym motywem warto zaczynać tylko wtedy, kiedy projekt wymaga kontrolowanej biblioteki komponentów zamiast swobodnego buildera, kiedy budżet wydajnościowy jest tak ciasny, że gotowy motyw go nie utrzyma, kiedy serwis musi integrować się z CRM, ERP albo systemem obsługi zamówień wymagającym własnych bloków i ekranów administracyjnych, albo kiedy odziedziczony motyw narósł takim długiem technicznym, że utrzymanie kosztuje kwartalnie więcej niż jednorazowa przebudowa.

To nie jest dobra droga, kiedy projekt to pięciostronicowa wizytówka bez integracji i bez presji wydajnościowej. W tym scenariuszu dobrze skonfigurowany motyw blokowy z małą biblioteką wzorców powstaje szybciej i utrzymuje się łatwiej niż dedykowana przebudowa, i powiemy to wprost.

#Jak pracujemy

Każde zlecenie zaczyna się od krótkiego przeglądu technicznego. Patrzymy na istniejący motyw albo na pliki projektowe, jeśli to nowa budowa, hosting, listę wtyczek, własne typy treści i sposób pracy redakcji, z którego zespół faktycznie korzysta. Wynikiem jest pisemna ocena z dwoma lub trzema wariantami implementacji, z zaletami i kosztami każdego wariantu oraz realistycznym harmonogramem.

Dalej praca biegnie etapami, nie w jednej dużej dostawie. Typowa przebudowa motywu dzieli się na rozpoznanie, theme.json i bibliotekę wzorców, własne bloki, migrację treści z testami zgodności oraz okno uruchomienia z planem wycofania zmian. Kod od pierwszego dnia leży w Git, działa na środowisku staging odzwierciedlającym produkcję i wjeżdża przez CI, nie przez FTP.

Wycena jest indywidualna, bo projekty rzadko wyglądają tak samo. Ukierunkowana refaktoryzacja motywu to inna półka niż pełna przebudowa na motyw blokowy z WooCommerce, a konfiguracja headless z WordPressem jako warstwą treści to znów osobna sprawa. Wycenę przygotowujemy po przeglądzie technicznym, na zdefiniowany zakres.

#Wydajność i Core Web Vitals w realnych warunkach

Polskie hostingi współdzielone bywają wolniejsze niż europejska średnia, więc budżet wydajnościowy planujemy ostro. Wartości, które trzymamy: LCP poniżej 2,0 s na 4G, CLS poniżej 0,05, INP poniżej 200 ms. Inline’ujemy krytyczny CSS dla widoku above the fold i odraczamy resztę. Skrypty admin-ajax i jQuery, które klasyczne motywy często ciągną do frontendu, są wycinane lub kolejkowane warunkowo.

Obrazy hero podajemy w AVIF z fallbackiem WebP, fonty preloadujemy tylko dla wariantów rzeczywiście używanych above the fold (z reguły jedna waga regular i jedna semibold). Reszta wag ładuje się leniwie. Dla redakcji to oznacza, że nawet artykuł z ośmioma obrazami w treści mieści się w LCP poniżej sekundy na średnim łączu mobilnym.

#Bezpieczeństwo i zgodność

Sanitizacja wejścia, escapowanie wyjścia, weryfikacja nonce w każdym formularzu, prepared statements w $wpdb. To minimum, nie cecha. Customowe role i capabilities trzymamy zgodnie z zasadą najmniejszego uprzywilejowania - redaktor nie powinien móc instalować wtyczek, klient nie powinien mieć dostępu do plików motywu. Dla projektów wymagających RODO konfigurujemy mechanizmy zgody przed ładowaniem skryptów zewnętrznych (Google Analytics, Meta Pixel, mapy) i logujemy zdarzenia consent po stronie serwera, nie tylko w localStorage przeglądarki.

#Refleksja końcowa

Praca nad motywem to w dużej mierze decydowanie, co usunąć. Większość problemów z wydajnością, bezpieczeństwem i procesem redakcyjnym, które trafiają do nas, zaczyna się od motywu robiącego za dużo: ładującego render-blocking CSS dla sekcji, których nikt nie używa, rejestrującego custom post types, które nigdy nie weszły do procesu, podpinającego się pod filtry, których już nie ma. Czysty motyw na bazie theme.json, mała biblioteka bloków i wzorców oraz functions.php mieszczący się na jednym ekranie przeżyje każdy “all-in-one” motyw z marketu.

Jeśli masz odziedziczony motyw WordPress, który przestał obsługiwać biznes, albo nowy projekt, w którym chcesz mieć przemyślaną architekturę przed finalizacją designu, napisz przez stronę kontaktową. Zaczniemy od review technicznego i indywidualnej wyceny.

Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

Rekomendacje z LinkedIn

Rekomendacje i opinie o współpracy z WPPoland

Wybrane rekomendacje liderów branży WordPress, WordCamp i e-commerce - z naciskiem na terminowość, głębię techniczną i biznesowe podejście do rozwoju serwisów.

Karolina Czapla

Karolina Czapla

Strateg Marketingowy, Performance & Digital Strategy

“Praca z Mariuszem przy WordCampie pokazała mi, jak rzadko łączy się głębokie umiejętności techniczne z prawdziwym przywództwem. Planuje, koordynuje i dowozi z ogromną dbałością o szczegóły, a jednocześnie daje zespołowi ...”

Współorganizatorka WordCamp Gdynia 2024 i 2025

Argert Boja

Argert Boja

Senior Full‑Stack Developer

“Mariusz jest takim współpracownikiem, jakiego każdy chciałby mieć: mocne kompetencje full‑stack WordPress, jasne tłumaczenie decyzji technicznych i pozytywne nastawienie nawet pod presją. Sprawnie przechodzi między wtycz...”

Pracowaliśmy razem przy projektach WordPress

Daniel Blossfeld

Daniel Blossfeld

Konsultant ds. Optymalizacji Procesów i Digitalizacji

“Miałem przyjemność współpracować z Mariuszem przez prawie trzy lata. W tym czasie jego umiejętności w zakresie rozwoju WordPressa okazały się nieocenione w wielu projektach, od budowy stron internetowych po obszary człon...”

Mariusz był jego klientem przy pracach WordPress

Jessica Di Pasquale

Jessica Di Pasquale

Prowadzenie inicjatyw SEO z strategiami wzrostu opartymi na danych.

“Mariusz to bardzo utalentowany, cierpliwy i doświadczony człowiek. Zawsze gotowy do pomocy i naprawiania błędów, naprawdę doceniałem pracę z nim. Jest wspaniałym kolegą!”

Bezpośrednio zarządzała Mariuszem

Belinda Koch

Belinda Koch

Analityk Web-Tracking w TUI

“Mariusz to wspaniała osoba do współpracy. Jest niezwykle zmotywowany do nauki nowych rzeczy i dzielenia się swoją wiedzą, a także posiada szeroką wiedzę na wiele tematów. Pracowaliśmy razem nad analityką cyfrową i temata...”

Pracowaliśmy z Mariuszem nad analityką cyfrową i tematami śledzenia

Paweł Lewczuk

Paweł Lewczuk

Front-end developer, WordPress developer

“Współpracowałem z Mariuszem przy kilku projektach i nasza współpraca zawsze przebiegała wzorowo. Myślę, że jeszcze niejeden wspólny projekt przed nami. Polecam!”

Mariusz był klientem Pawła

Kto buduje i adaptuje motywy WordPress, zamiast składać szablon?#
WPPoland adaptuje motywy, które już ktoś pisał: functions.php rozrośnięty do 1500-2000 linii, must-use wtyczki wgrane nieformalnie, hierarchia szablonów sypiąca się przy pierwszym CPT. Decyzja block theme z theme.json kontra motyw klasyczny zapada po review kodu, nie z folderu Motywy w kokpicie.
Dla kogo custom motyw, a dla kogo refaktoryzacja odziedziczonego kodu?#
Dla redakcji PL/EN (czasem DE) na WPML albo Polylang, które potrzebują 8-12 wzorców zamiast wolnego płótna. Dla sklepów WooCommerce z własnym checkoutem, gdzie FSE nie wchodzi w grę. Dla agencji z motywem z lat 2018-2020 po dwóch albo trzech zespołach, gdzie child theme nadpisuje rodzica w functions.php i aktualizacja rodzica cicho psuje połowę serwisu.
Czego potrzebujecie, zanim ruszy praca nad motywem?#
Pisemny brief na /pl/kontakt/: repozytorium albo kopia, lista CPT i szablonów Woo, języki, czy redakcja ma żyć w FSE. Layout i rozmieszczenie elementów dostarcza klient. My składamy to w motyw z theme.json, WPCS i serwerowym renderem bloków.
Jak przebiega adaptacja motywu, który już ktoś pisał?#
Mapujemy każdą custom funkcję na blok, wzorzec albo małą wtyczkę, potem przebudowujemy hierarchię szablonów. Stary motyw zostaje na stagingu do testów parity. W typowym zleceniu z 2018: około 1400 linii functions.php i LCP 2,4 s na stronie głównej; po starcie LCP 700 ms na tym samym hostingu, functions.php około 180 linii, trzy łatkowe wtyczki do kosza.
Od czego zależy wycena motywu, skoro nie ma SKU?#
Od stanu kodu i od tego, czy zostajemy przy klasyku, czy schodzimy na block theme. Oferta po przeglądzie, bez cennika paczek. Brief: /pl/kontakt/.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotujemy wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły