WordPress pozwala na dostosowywanie motywów do własnych wymagań. Możemy to zrobić edytując pliki oryginalnego motywu ale przy aktualizacji motywu zostaną one nadpisane nowymi wersjami plików motywu i stracimy zmiany, które zostały przez nas wykonane.
Jeśli nie chcemy stracić zmian, które zostały przez naz wykonane musimy posłużyć się motywami potomnymi (child themes). Jak wyprodukować sobie potomka? Bardzo prosto. Załóżmy, że korzystamy z motywu twentysixteen i w tym motywie chcielibyśmy zrobić kilka zmian. W tym celu po pierwsze musimy utworzyć folder np. twentysixteen-child-test dla naszego nowego motywu w /wp-content/themes/
Po tym będziemy mieć foldery:
/wp-content/themes/twentysixteen
/wp-content/themes/twentysixteen-child-test
W folderze /wp-content/themes/twentysixteen-child-test musimy utworzyć plik style.css w którym zapisane będą dokonane przez nas zmiany.W pliku tym musimy wpisać kilka linii ważnych z punktu widzenia motywu potomnego (musimy pokazać WordPressowi, który motyw będzie „rodzicem” dla naszego motywu potomnego). W tym celu wpisujemy w pliku style.css (tym z folderu dla motywu potomnego czyli /wp-content/themes/twentysixteen-child-test/style.css) następujące wiersze:
/* Theme name: twentysixteen-child-test Template: twentysixteen */ @import url("../twentysixteen/style.css");
Z powyższego:
- Theme name: nazwaTwojegoMotywu
- Template: nazwaMotywuRodzica
@import url(’../nazwaMotywuRodzica/style.css’);
Po takich zmianach pojawi się w „motywach” strony nowy motyw o nazwie podanej przez nas -> twentysixteen-child-test
Jeśli klikniemy na naszym motywie potomnym „szczegóły motywu” to zobaczymy informacje o naszym motywie a właściwie ich brak (bo nic nie wpisaliśmy w pliku style.css naszego motywu potomnego).
No to teraz trzeba uzupełnić plik style.css naszego motywu potomnego o dodatkowe informacje:
/* Theme name: twentysixteen-child-test Theme URI: https://www.rafalrebacz.pl/themes/test/ Description: Motyw potomny oparty o "twentysixteen-child-test" Author: rafalrebacz Author URI: https://www.rafalrebacz.pl Template: twentysixteen Version: 0.0.1 */
Z powyższego (kolejność poniżej przedstawionych linii nie ma znaczenia):
- Theme name: nazwaTwojegoMotywu
- Theme URI: adres strony naszego motywu
- Description: opis naszego motywu
- Author: nazwa autora motywu
- Author URI: adres strony autora motywu
- Template: nazwaMotywuRodzica
- Version: numer wersji motywu
Po tym pojawi się opis w naszym motywie potomnym
Czy jest to rozwiązanie jedyne, możliwe do zastosowania? Nie, nie jest – można skopiować szablon, który chcemy zmodyfikować do folderu o innej nazwie i modyfikować pliki szablonu w tym nowym folderze. Nie będziemy mieć aktualizacji motywu ale za to nic nam nie zniknie z naszych modyfikacji (a możemy „sponiewierać” nasz motyw dość mocno).
Rozwiązanie z kopią motywu jest raczej dla tych, którzy chcą dokonywać dużych zmian w motywie oryginalnym. W przypadku chęci dokonania tylko kosmetycznych, małych zmian wystarczy zastosowanie motywów potomnych i będzie też ono wygodniejsze.