Jeśli ktoś z Was był na tej stronie choćby jeszcze kilka godzin temu, to zapewne zauważył radykalną zmianę w wyglądzie – nie była to operacja zaplanowana, tym razem poszliśmy na żywioł, czego osobiście nie polecam w środowiskach produkcyjnych. W każdym razie zmiana stała się faktem, choć zostało jeszcze troszkę roboty z poznawaniem nowego szablonu i jego dopasowywaniem do własnych potrzeb. Przy okazji uświadomiłem sobie, że o ile o samym WordPressie pisałem na tej stronie kilkukrotnie, to do tej pory nie było artykułu/wpisu o „szablonach potomnych” (Child Themes), które znacznie ułatwiają pracę choćby związaną z modyfikowaniem wyglądu strony/szablonu.
Spis treści w artykule
WordPressie i szablony (skórki)
Postaram się Wam wyjaśnić, o co z tym chodzi – głodnych dodatkowej wiedzy odsyłam na stronę WordPress Codex, gdzie całe zagadnienie jest dość szczegółowo opisane.
Szablon, czyli skórka, czyli…
Szablon czy jak niektórzy wolą skórka – to zestaw plików odpowiedzialnych za warstwę wizualną naszej strony na WordPressie. Taka karoseria, którą wszyscy oglądają i się zachwycają, gdy pod spodem pracuje silnik i inne elementy, bez których strona by nie działała, ale które – dla większości – nie wyglądają już tak pięknie by się nimi chwalić.
Teoretycznie – bo dochodzą czasem niuanse związane z dodatkowymi funkcjonalnościami – wystarczy zmienić skórkę, by cieszyć się nowym wyglądam strony.
Gdy nabieramy doświadczenia w zarządzaniu WordPressem, zazwyczaj pojawia się chęć dokonania większych modyfikacji – czasem pomoże dodatkowa wtyczka (plugin), a czasem (wystarczy) drobna edycja plików szablonu.
Po takiej edycji wszystko pięknie – ale tylko do czasu najbliższej jego aktualizacji, wtedy zazwyczaj wszystkie nasze modyfikacje znikają, gdyż przy okazji aktualizacji zmodyfikowane przez nas pliki zastępowane są plikami oryginalnymi.
Szablony potomne w WordPressie
M.in. dlatego powstały szablony potomne, które nie są bezpośrednią kopią wszystkich plików „rodzica”, a zawierają tylko te fragmenty, które chcemy zmodyfikować/nadpisać.
Zazwyczaj będą to pliki:
- Szablon stylów – style.css
- Plik (dodatkowych) funkcji – functions.php
- Niektóre pliki szablonu głównego, np.: header.php, footer.php
Przygotowanie szablonu potomnego (Child Themes)
Od razu polecam zacząć od jakiegoś pliku do obsługi naszego konta za pośrednictwem protokołu (S)FTP(S) lub SSH/SCP, jak np. WinSCP.
Przechodzimy do katalogu z szablonami w WordPressie, czyli zazwyczaj jakoś tak:
/var/www/[domena]/public_html/p-content/themes
Lub:
/wp-content/themes
Następnie Tworzymy nowy katalog o nazwie zbliżonej do „rodzica” (choć nie jest to warunek konieczny, to dla porządku…), czyli jeśli nazwa rodzica to np.:
twentyfourteen
to nowy katalog może się nazywać np. tak:
twentyfourteen-child
W tym katalogu tworzymy plik style.css o takiej zawartości:
/*
Theme Name: Twenty Fourteen Child Theme
Text Domain: twentyfourteen
Template: twentyfourteen
*/
@import url("../twentyfourteen/style.css");
W pliku tym – poniżej – zapisujemy wszelkie modyfikacje związane z wyglądem strony.
W katalogu:
/var/www/[domena]/public_html/p-content/themes/twentyfourteen-child
Lub:
/wp-content/themes/twentyfourteen-child
umieszczamy również wszelkie pliki oryginalnego szablonu (rodzica), które chcemy zmodyfikować, jak i np. plik functions.php, w którym dodatkowo umieszczamy kod:
function webinsider_wp_enqueue_parent_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'webinsider_wp_enqueue_parent_styles' );
Od tego momentu, w WordPressie powinien być dostępny do wyboru nasz motyw potomny (który należy aktywować ;-)).
Oczywiście podany w tym przykładzie szablon rodzica „twentyfourteen”/”Twenty Fourteen” należy ew. zastąpić innym, wybranym przez Was…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01