WordPress parent theme, czyli motyw nadrzędny, jest bazą odpowiedzialną za wygląd, funkcje i strukturę witryny. Jeśli chcesz wprowadzać własne zmiany bez ryzyka ich utraty po aktualizacji, nie edytuj jego plików bezpośrednio. Utwórz motyw potomny, który dziedziczy elementy parent theme i przechowuje własne modyfikacje.
Czym jest WordPress parent theme?
Motyw nadrzędny to podstawowy zestaw plików, na którym działa wygląd witryny WordPress. Zawiera szablony, arkusze stylów, funkcje PHP oraz konfigurację potrzebną do wyświetlania strony. Można potraktować go jak główny wzorzec, który określa strukturę i zachowanie całego motywu.
Sam parent theme może działać bez dodatkowej warstwy. Problem pojawia się wtedy, gdy zaczynasz modyfikować jego pliki. Aktualizacja motywu zwykle zastępuje wcześniejsze pliki nowymi wersjami, więc własny kod, zmiany w CSS lub poprawki w szablonach mogą zostać bezpowrotnie usunięte.
Jak parent theme współpracuje z motywem potomnym?
Motyw potomny, czyli child theme, korzysta z plików motywu nadrzędnego i pozwala je rozszerzać albo nadpisywać. WordPress traktuje go jako aktywny motyw witryny, ale brakujące elementy pobiera z parent theme. Dzięki temu możesz zmienić wybrane szablony lub style bez ingerowania w oryginalne pliki.
Zasada jest prosta: motyw nadrzędny powinien być traktowany jako pliki tylko do odczytu. Własne modyfikacje umieszczaj w child theme, ponieważ pozostaną na miejscu po aktualizacji parent theme.
| Cecha | Edycja motywu nadrzędnego | Użycie motywu potomnego |
|---|---|---|
| Zmiany po aktualizacji | Mogą zostać utracone, gdy aktualizacja zastąpi pliki motywu. | Pozostają w plikach child theme. |
| Bezpieczeństwo kodu | Własny kod miesza się z kodem dostawcy motywu. | Modyfikacje są oddzielone od plików parent theme. |
| Organizacja pracy | Trudniej ustalić, które pliki zostały zmienione. | Łatwiej kontrolować, testować i wycofywać własne zmiany. |
Motyw potomny nie kopiuje automatycznie wszystkich plików parent theme. Dziedziczy ich działanie, a w swoim katalogu musi zawierać tylko te pliki, które chcesz dodać lub zmodyfikować. To ogranicza zakres własnych zmian i ułatwia późniejszą konserwację.
Jak stworzyć motyw potomny w WordPress?
Do utworzenia podstawowego child theme potrzebujesz dostępu do plików WordPressa przez FTP albo menedżer plików. Katalog motywów znajduje się zwykle w /wp-content/themes/. W przykładzie parent theme ma katalog xyz, a child theme otrzyma nazwę xyz-child.
- Utwórz katalog motywu potomnego – w folderze
/wp-content/themes/stwórz katalogxyz-child. Nazwa może być inna, ale powinna jednoznacznie wskazywać, z jakim parent theme jest powiązana. - Dodaj plik style.css – w katalogu child theme utwórz plik z metadanymi motywu.
- Dodaj plik functions.php – wykorzystaj go do załadowania arkusza stylów parent theme.
- Aktywuj motyw potomny – w panelu WordPress przejdź do „Wygląd” i „Motywy”, a następnie włącz utworzony child theme.
Podstawowy plik style.css może wyglądać tak:
/*
Theme Name: XYZ Child
Description: Motyw potomny dla XYZ
Author: Twoje imię
Template: xyz
Version: 1.0.0
*/
/* Własne style CSS możesz dodać poniżej */
Najważniejsze są dwa pola. Theme Name to nazwa widoczna w panelu administracyjnym. Template wskazuje parent theme i musi odpowiadać dokładnej nazwie jego katalogu, a nie nazwie wyświetlanej w panelu. Jeśli folder motywu nadrzędnego nazywa się xyz, wartość Template również musi brzmieć xyz. Wielkość liter i zapis znaków mają znaczenie.
W pliku functions.php możesz załadować arkusz stylów motywu nadrzędnego za pomocą funkcji WordPress:
<?php
add_action( 'wp_enqueue_scripts', 'xyz_child_enqueue_styles' );
function xyz_child_enqueue_styles() {
wp_enqueue_style(
'xyz-parent-style',
get_template_directory_uri() . '/style.css'
);
}
Po zapisaniu obu plików child theme powinien pojawić się na liście motywów. Przed aktywacją sprawdź, czy nazwa folderu parent theme jest poprawna w polu Template. Błędna wartość może uniemożliwić prawidłowe rozpoznanie relacji między motywami. Jeśli używasz motywu komercyjnego, producent może dostarczać gotowy pakiet child theme. W takim przypadku zwykle wystarczy zainstalować go jak zwykły motyw i aktywować w panelu.
Co można umieszczać w child theme?
Motyw potomny służy przede wszystkim do przechowywania własnych zmian. Najczęściej obejmują one:
- Własne reguły CSS zmieniające kolory, odstępy, typografię lub układ elementów.
- Zmodyfikowane pliki szablonów, które zastępują wybrane pliki parent theme.
- Funkcje PHP dodające albo zmieniające zachowanie witryny.
- Własne obrazy, skrypty i inne zasoby używane przez motyw.
Każdy plik umieszczony w child theme powinien mieć konkretne uzasadnienie. Nie kopiuj całego parent theme, ponieważ utrudni to późniejsze aktualizacje i zwiększy liczbę miejsc wymagających kontroli.
Dlaczego warto korzystać z architektury parent theme–child theme?
Rozdzielenie kodu bazowego od własnych modyfikacji wymaga krótkiego przygotowania, ale upraszcza późniejszą pracę. Najważniejsze korzyści to:
- Bezpieczne aktualizacje – pliki parent theme mogą być aktualizowane bez kasowania własnych zmian.
- Lepsza organizacja – kod dostarczony przez autora motywu pozostaje oddzielony od Twoich modyfikacji.
- Łatwiejsze diagnozowanie błędów – można szybciej ustalić, czy problem pochodzi z parent theme, czy z własnego kodu.
- Prostsze wycofywanie zmian – dezaktywacja child theme pozwala odseparować własne modyfikacje od bazowego motywu.
Jeżeli planujesz zmiany w kodzie, stylach lub plikach szablonów, utwórz child theme przed rozpoczęciem pracy. Parent theme zapewnia bazę, a motyw potomny staje się bezpieczną warstwą dla własnych rozszerzeń.