Krótka odpowiedź: motyw potomny to osobny folder w wp-content/themes z plikiem style.css, w którym wskazujesz motyw nadrzędny. Tylko ten plik jest wymagany. Plik functions.php jest opcjonalny: dodajesz go, gdy chcesz załadować własny CSS albo dopisać kod PHP. Motyw potomny WordPress utworzysz ręcznie w kilka minut albo wtyczką, np. Child Theme Wizard, a dla motywów blokowych Create Block Theme.
- Co to jest motyw potomny i po co go używać
- Jakie pliki są potrzebne w motywie potomnym
- Jak stworzyć motyw potomny ręcznie
- Krok 1. Utwórz folder
- Krok 2. Utwórz plik style.css
- Krok 3. Załaduj style, jeśli to potrzebne
- Krok 4. Wgraj i włącz motyw potomny
- Jak dodać kod do sekcji head bez kopiowania header.php
- Motyw potomny dla motywu blokowego
- Jak stworzyć motyw potomny wtyczką
- Najczęstsze pytania
Na wpmentor.pl też używam motywu potomnego, opartego na motywie Foxiz. Dzięki temu aktualizacje Foxiza nie kasują moich zmian.
Co to jest motyw potomny i po co go używać
Motyw potomny (ang. child theme) dziedziczy wygląd i funkcje motywu nadrzędnego, czyli rodzica. W motywie potomnym trzymasz tylko swoje zmiany: CSS, dodatkowy kod PHP i nadpisane szablony. Co daje takie rozwiązanie:
- Aktualizacja motywu nadrzędnego nie kasuje Twoich zmian.
- Twoje zmiany są w jednym miejscu, oddzielone od kodu autora motywu.
- Gdy coś zepsujesz, włączasz z powrotem motyw nadrzędny i strona wygląda jak wcześniej.
Kiedy motyw potomny nie jest potrzebny
Kilka linijek CSS wkleisz bez motywu potomnego: w Wygląd → Dostosuj → Dodatkowy CSS (motywy klasyczne) albo w panelu stylów w edytorze witryny (motywy blokowe). Fragmenty kodu PHP i skrypty dodasz wtyczką, np. Code Snippets albo WPCode. W motywie blokowym zmiany zrobione w edytorze witryny i tak zapisują się w bazie danych, a nie w plikach motywu. Motyw potomny jest potrzebny, gdy chcesz zmieniać pliki szablonów albo trzymać więcej własnego kodu w jednym miejscu.
Jakie pliki są potrzebne w motywie potomnym
Według oficjalnej dokumentacji WordPressa wymagany jest tylko jeden plik: style.css z nagłówkiem, w którym jest pole Template. Pozostałe pliki są opcjonalne:
style.css(wymagany): nazwa motywu, wskazanie rodzica i Twój CSS.functions.php(opcjonalny): ładowanie arkuszy stylów i własny kod PHP. Nie zastępujefunctions.phprodzica. WordPress wczytuje oba pliki, najpierw ten z motywu potomnego.theme.json(opcjonalny, w motywach blokowych): kolory, czcionki i style.- Pliki szablonów (opcjonalne), np.
page.phpw motywie klasycznym albotemplates/single.htmlw blokowym. Plik o tej samej nazwie co w rodzicu zastępuje oryginał. screenshot.png(opcjonalny): obrazek, który zobaczysz w Wygląd → Motywy.
Jak stworzyć motyw potomny ręcznie
Pokażę to na przykładzie motywu GeneratePress. Przy innym motywie zmieniasz tylko nazwę folderu rodzica w polu Template. Jeśli dopiero wybierasz motyw, zajrzyj do zestawienia darmowe motywy WordPress.
Krok 1. Utwórz folder
Na komputerze utwórz folder generatepress-child. Nazwa jest dowolna, ale przyjęło się dodawać -child do nazwy rodzica. Używaj małych liter i myślników, bez spacji.
Krok 2. Utwórz plik style.css
W folderze utwórz plik style.css i wklej do niego:
/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0.0
*/
/* Tutaj dopisujesz własny CSS */
Template to najważniejsze pole. Musi być identyczne z nazwą folderu motywu nadrzędnego w wp-content/themes, np. generatepress, astra albo twentytwentyfive. Theme Name to nazwa, którą zobaczysz w panelu.
Krok 3. Załaduj style, jeśli to potrzebne
W starszych poradnikach, także w poprzedniej wersji tego wpisu, znajdziesz kod, który zawsze ładuje arkusz stylów rodzica. Dziś zwykle nie jest potrzebny. Najpierw sprawdź, jak style ładuje Twój motyw nadrzędny:
- Rodzic ładuje oba arkusze. Nic nie musisz robić. Tak działa np. GeneratePress: gdy wykryje motyw potomny, sam dołącza jego
style.css. - Rodzic ładuje tylko swój arkusz. Musisz dołączyć
style.cssmotywu potomnego wfunctions.php. Tak jest np. w Twenty Twenty-Five. - Rodzic ładuje arkusz aktywnego motywu (funkcją
get_stylesheet_uri()). Wtedy WordPress wczyta Twójstyle.csszamiast arkusza rodzica, więc musisz dołączyć arkusz rodzica.
Najprościej sprawdzić to w praktyce. Dopisz w style.css motywu potomnego regułę, którą od razu zobaczysz, np. body { outline: 5px solid red; }, włącz motyw potomny i otwórz stronę. Jeśli czerwonej ramki nie ma, utwórz plik functions.php z takim kodem:
<?php
// Ładuje style.css motywu potomnego.
add_action( 'wp_enqueue_scripts', 'moj_child_enqueue_styles' );
function moj_child_enqueue_styles() {
wp_enqueue_style(
'moj-child-style', // unikalna nazwa (uchwyt)
get_stylesheet_uri(), // adres style.css motywu potomnego
array(), // zależności, np. array( 'uchwyt-rodzica' )
wp_get_theme()->get( 'Version' ) // wersja z nagłówka style.css
);
}
get_stylesheet_uri() zwraca adres pliku style.css aktywnego motywu, czyli w tym wypadku motywu potomnego. Trzeci argument wp_enqueue_style() to zależności. Jeśli wpiszesz tam uchwyt arkusza rodzica, WordPress załaduje Twój CSS po nim, więc Twoje reguły wygrają. Uchwyt znajdziesz w kodzie strony: to atrybut id znacznika <link> bez końcówki -css. Czwarty argument to wersja. Gdy podniesiesz Version w style.css, przeglądarki pobiorą nowy plik zamiast starego z pamięci podręcznej.
Jeśli rodzic ładuje arkusz aktywnego motywu, dopisz w functions.php ładowanie arkusza rodzica:
add_action( 'wp_enqueue_scripts', 'moj_child_enqueue_parent_style' );
function moj_child_enqueue_parent_style() {
wp_enqueue_style(
'moj-parent-style',
get_parent_theme_file_uri( 'style.css' )
);
}
Nie kopiuj całego functions.php z motywu nadrzędnego. WordPress wczytuje oba pliki, więc zdublowane funkcje spowodują błąd krytyczny i strona przestanie działać.
Krok 4. Wgraj i włącz motyw potomny
Spakuj folder do pliku .zip. W panelu wejdź w Wygląd → Motywy, kliknij przycisk dodawania nowego motywu i wybierz wysyłanie motywu na serwer. Możesz też wgrać folder do wp-content/themes przez FTP (np. FileZillą) albo menedżerem plików w panelu hostingu. Dane do FTP znajdziesz w panelu swojego hostingu, a jeśli dopiero go wybierasz, zajrzyj do rankingu hostingów.
Na koniec w Wygląd → Motywy kliknij Włącz przy motywie potomnym. Motyw nadrzędny musi zostać zainstalowany, ale nie musi być włączony. Po włączeniu sprawdź menu i ustawienia z Customizera. WordPress zapisuje je osobno dla każdego motywu, więc część z nich trzeba ustawić jeszcze raz.
Jak dodać kod do sekcji head bez kopiowania header.php
W starej wersji tego wpisu radziłem skopiować header.php do motywu potomnego i wkleić kod przed </head>. Nie rób tak. Skopiowany plik nie dostaje poprawek z aktualizacji motywu, a po większej zmianie w rodzicu może zepsuć stronę. Zamiast tego dopisz do functions.php funkcję podpiętą pod hak wp_head:
add_action( 'wp_head', 'moj_child_kod_w_head' );
function moj_child_kod_w_head() {
?>
<meta name="google-site-verification" content="TWOJ-KOD">
<?php
}
WordPress wywołuje wp_head w sekcji head każdej strony, więc Twój kod pojawi się tam automatycznie, także po aktualizacji motywu. W ten sposób dodasz np. kod weryfikacji Google Search Console albo skrypt statystyk. Jeśli nie chcesz ruszać plików, to samo zrobisz wtyczką WPCode (Insert Headers and Footers).
Motyw potomny dla motywu blokowego
Motywy blokowe, takie jak Twenty Twenty-Five, działają inaczej. Wygląd ustawiasz w pliku theme.json i w szablonach HTML z folderów templates i parts. Motyw potomny też ma style.css z polem Template, a do tego zwykle własny theme.json, który nadpisuje wybrane ustawienia rodzica:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 3,
"styles": {
"elements": {
"link": {
"color": {
"text": "#c2410c"
}
}
}
}
}
Ten przykład zmienia tylko kolor linków. Resztę ustawień WordPress bierze z theme.json rodzica. Szablon nadpiszesz, zapisując w motywie potomnym plik o tej samej nazwie, np. templates/single.html. Pamiętaj, że zmiany zapisane w edytorze witryny mają pierwszeństwo przed plikami motywu, bo trafiają do bazy danych.
Wtyczka Create Block Theme
Najwygodniej utworzysz motyw potomny dla motywu blokowego oficjalną wtyczką Create Block Theme od zespołu WordPress.org (ostatnia aktualizacja: październik 2026). Po instalacji otwórz Wygląd → Edytor i kliknij ikonę wtyczki obok przycisku Zapisz. Wybierz Create Theme, a potem Create Child Theme. Wtyczka umie też zapisać zmiany z edytora do plików motywu i wyeksportować motyw jako plik .zip.
Jak stworzyć motyw potomny wtyczką
Wcześniej polecałem tu wtyczkę Child Theme Configurator. Dziś jej nie polecam. Ostatnią aktualizację dostała w czerwcu 2025 i była testowana tylko do WordPressa 6.8, a aktualna wersja to 7.1. Na wordpress.org widnieje ostrzeżenie, że nie testowano jej z trzema ostatnimi głównymi wydaniami WordPressa.
Prostsza i aktualizowana jest wtyczka Child Theme Wizard (ostatnia aktualizacja: czerwiec 2026, testowana z WordPressem 7.0):
- W panelu wejdź w Wtyczki i dodaj nową wtyczkę: wyszukaj Child Theme Wizard, zainstaluj ją i włącz.
- Przejdź do Narzędzia → Child Theme Wizard.
- Wybierz motyw nadrzędny, wpisz nazwę i opis motywu potomnego.
- Kliknij Create Child Theme.
- Włącz nowy motyw w Wygląd → Motywy.
Po utworzeniu motywu potomnego wtyczka nie jest już potrzebna, możesz ją usunąć. Sprawdź też, czy autor Twojego motywu nie udostępnia gotowego motywu potomnego do pobrania. Jeśli nie chcesz robić tego sam, mogę zrobić dla Ciebie całą stronę na WordPressie. Strony internetowe robię od 1 500 zł.
Najczęstsze pytania
Czy motyw potomny spowalnia stronę?
Praktycznie nie. Motyw potomny dodaje najwyżej jeden mały plik CSS. Jeśli strona działa wolno, przyczyną są zwykle hosting, ciężkie zdjęcia albo zbyt wiele wtyczek.
Czy po aktualizacji motywu nadrzędnego stracę zmiany?
Nie, jeśli są w motywie potomnym. Pamiętaj tylko, że nadpisane pliki szablonów nie dostają poprawek z aktualizacji rodzica, więc po dużej aktualizacji sprawdź, czy strona działa poprawnie.
Czy plik functions.php jest wymagany?
Nie. Wymagany jest tylko style.css z polem Template. Plik functions.php dodajesz, gdy chcesz załadować arkusz stylów albo dopisać własny kod PHP.
Czy mogę stworzyć motyw potomny dla motywu blokowego?
Tak. Taki motyw potomny ma style.css z polem Template i zwykle własny theme.json. Najprościej utworzysz go wtyczką Create Block Theme.
Co się stanie, gdy usunę motyw nadrzędny?
Motyw potomny przestanie działać, bo korzysta z plików rodzica. Motyw nadrzędny musi zostać zainstalowany i aktualizowany, nawet jeśli nie jest włączony.
Czy mogę zrobić motyw potomny motywu potomnego?
Nie. WordPress obsługuje tylko dwa poziomy: motyw nadrzędny i motyw potomny.













Problem w tym, które pliki dodatkowo tam dać. Jak jakiś powiedzmy header chcemy aby się nie zmieniała a mamy w tym pliku tylko wyciętą 1 linijkę kodu bo nie chcemy widoku kategorii na górze. To zostawić taki plik w potomnym z wyciętym też źle – bo mogą być aktualizowane pozostałe treści kodu. Jak takie cos można by rozwiązać?