Blog · strony www, usługi programistyczne

Twoje zmiany znikają po aktualizacji? Poznaj motyw potomny (Child Theme) w WordPressie.

2025-06-30

Jest taki moment grozy, który zna niemal każdy właściciel strony na WordPressie. Pojawia się powiadomienie o aktualizacji motywu – wiadomo, że trzeba ją zainstalować ze względów bezpieczeństwa, ale pojawia się zimny pot. Klikasz „Aktualizuj”, i po chwili wszystkie starannie wprowadzone zmiany w wyglądzie i funkcjach… znikają. Bezpowrotnie.

To pułapka, w którą wpada wielu. W jednym z projektów, żeby naprawić mylącą nawigację, dodałam klientce niestandardowy fragment kodu wprost do plików motywu. Poprawka działała idealnie – ale zostawienie jej tam to jak zamek z piasku: piękny, do pierwszego przypływu. Tym przypływem byłaby najbliższa aktualizacja. Moim zadaniem było nie tylko naprawić problem, ale zrobić to profesjonalnie – tak, żeby zabezpieczyć pracę na przyszłość.

Problem: dlaczego zmiany znikają?

Wyobraź sobie motyw jako dom z katalogu. Aktualizacja to nie malowanie ścian – to wyburzenie starego domu i postawienie nowej, ulepszonej wersji z tej samej serii. Wszystkie indywidualne przeróbki zostają zrównane z ziemią. Dlatego nigdy nie modyfikujemy bezpośrednio plików oryginalnego motywu.

Rozwiązanie: bezpieczna „dobudówka” (Child Theme)

Złoty standard w świecie WordPressa to motyw potomny. W naszej metaforze – dobudówka do istniejącego domu. Wszystkie modyfikacje, funkcje i style trafiają do tej osobnej przestrzeni. Gdy główny budynek przechodzi remont (aktualizację), dobudówka pozostaje nietknięta i wciąż idealnie pasuje. Proste, eleganckie i skuteczne.

Warsztat: Child Theme w 4 krokach

Stworzenie motywu potomnego jest łatwiejsze, niż się wydaje. Oto instrukcja dla popularnego motywu Astra (dla innych motywów proces jest analogiczny).

Krok 1: utwórz folder motywu potomnego. Połącz się z serwerem przez FTP (np. FileZilla), wejdź do katalogu wp-content/themes/ i stwórz tam folder astra-child.

Krok 2: stwórz plik style.css – serce dobudówki. W folderze astra-child utwórz style.css i wklej nagłówek. Najważniejsza jest linia Template: astra – musi dokładnie odpowiadać nazwie folderu motywu-rodzica.

/*
 Theme Name:   Astra Child
 Template:     astra
 Version:      1.0.0
*/

Krok 3: stwórz plik functions.php i połącz oba motywy. W tym samym folderze utwórz functions.php i wklej poniższy kod – wczyta on style motywu Astra, żeby strona wyglądała poprawnie.

<?php
function astra_child_enqueue_parent_styles() {
    wp_enqueue_style( 'astra-parent-style', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'astra_child_enqueue_parent_styles' );
// Od tego miejsca dodajesz własny kod

Krok 4: aktywuj i ciesz się spokojem. Wejdź w Wygląd → Motywy, znajdź nowy „Astra Child” i aktywuj. Od teraz kod PHP dodajesz do functions.php, a style do style.css w folderze potomnym. Będą bezpieczne na zawsze.

Dzięki temu prostemu zabiegowi klientka może bez strachu klikać „Aktualizuj”, wiedząc, że jej kluczowe funkcje są bezpieczne. Prawdziwy profesjonalizm to nie tylko rozwiązanie problemu, ale przewidywanie kolejnych – myślenie o rozwiązaniach, które działają nie tylko dziś, ale i za rok.

Wróć do wszystkich wpisów

Masz projekt do omówienia?

Napisz, o co chodzi - nie musi być technicznie, od tego jestem ja. Odezwę się i powiem wprost, czy i jak mogę pomóc.