Създаване на дъщерна (child) тема в WordPress

Здравейте приятели,

В тази публикация ще споделя с вас как можете да създадете ваша собствена дъщерна тема (child theme) в WordPress.

За целта първо трябва да разберем същността на дъщерните теми.

Дъщерните теми (официално известни още като child themes) наслядяват функционалността си от главната тема (parent theme), към която са създадени.

Те се използват с една-единствена цел – съхраняване на всички възможни промени, които ще направите по техния дизайн или визуална функционалност, по време на ъпдейт на главната тема.

Ако инсталирате и настроите една главна тема и след това решите да промените нещо по нейния CSS, HTML или PHP код, то вероятността да изгубите този код при нейното обновяване е 100%, защото файловете, в които сте го въвели, ще бъдат презаписани.

Това ви оставя няколко възможности за реакция:

  1. Непрекъснато възстановяване на кода след ъпдейт – нещо, което е рисковано и досадно;
  2. Използване на плъгини за Custom CSS, HTML и PHP – това решение е сравнително добро, но въпреки това натоварвате вашия сайт с едно или повече разширения, което неминуемо ще се отрази на неговата функционалност. Също така е възможен и конфликт между отделните плъгини (ако са несъвместими помежду си), който може да доведе до повреда в сайта;
  3. Създаване на дъщерна (child) тема и въвеждане на custom кода в нея – това е безспорно най-добрият вариант, защото кодът ще бъде запазен при ъпдейт на главната тема, а същевременно инсталацията ви няма да бъде натоварена от допълнителни плъгини;

Как да създам своя дъщерна тема?

Първо трябва да си изберете главна тема и да я инсталирате и активирате. Последното действие е по-скоро опционално, но моят опит до момента показва, че това е една добра практика, която е препоръчително да използвате.

След това трябва да достигнете до директорията, която съдържа темите на вашия WordPress сайт. Тя се казва „themes“ и трябва да се намира в инсталационната директория на WordPress в поддиректорията „wp-content“.

В нея ще видите всички директории, носещи имената на инсталираните теми на вашия сайт. Сега следва да локализирате директорията на главната тема, за която ще създадете child theme. Копирайте името ѝ и след това създайте нова директория, която носи същото име, но с добавката „-child“.

Следващата стъпка е да създадете един файл, който се казва „style.css“ в директорията на дъщерната тема. За целта можете да използвате текстови редактор по ваш избор.

В него въведете данните от шаблона по-долу:

/*
Theme Name:   *ИМЕТО НА ВАШАТА ГЛАВНА ТЕМА* Child Theme
Theme URI:    *URL АДРЕС НА ТЕМАТА*
Description:  *ВЪВЕДЕТЕ КРАТКО ОПИСАНИЕ НА ДЪЩЕРНАТА ТЕМА*
Author:       *АВТОР НА ДЪЩЕРНАТА ТЕМА*
Author URI:   *URL АДРЕС НА АВТОРА НА ДЪЩЕРНАТА ТЕМА*
Template:     *КОПИРАЙТЕ ИМЕТО НА ДИРЕКТОРИЯТА НА ГЛАВНАТА ТЕМА*
Version:      1.0.0
*/

@import url("../ДИРЕКТОРИЯТА НА ГЛАВНАТА ТЕМА/style.css");

Преди да съхраните файла style.css, вие следва да промените малко този шаблон, за да пасне на главната тема. Попълнете данните в първия блок, като замените написаните инструкции с главни букви и премахнете звездичките около тези описания (а не в началото и в края на блока).

Обърнете внимание на последния ред. На мястото на главните букви следва да въведете името на директорията на главната тема, за която създавате дъщерна тема. Кодът от този ред казва на WordPress, че това е дъщерна тема, която следва да наследи визуалните настройки от файла на главната тема.

След като сте готови с този „style.css“ файл трябва да го запазите и качите в директорията на дъщерната тема. След това трябва да се върнете в WordPress и да активирате нея (тя ще е видима в селекцията от инсталирани теми).

Най-вероятно дизайнът на темата ще бъде объркан, но това не следва да ви тревожи. Направете настройките по обичайния начин и от този момент всичко ще бъде съхранено при бъдещ ъпдейт на главната тема.

Custom CSS можете да добавяте директно в „style.css“ на дъщерната тема, като той вече е достъпен и от Appearance -> Editor.

Освен това, ако се наложи да направите промяна по някой от PHP файловете на главната тема (примерно footer.php), то можете да го копирате в директорията на дъщерната тема и да направите редакцията там. По този начин оригиналният PHP файл няма да бъде променен (съответно няма да развалите главната тема в случай на грешна редакция), а всички промени ще бъдат запазени по време на ъпдейт в неговото копие за дъщерната тема.

До нови срещи, приятели!

0 0 votes
Article Rating

2 Коментари
Oldest
Newest
Inline Feedbacks
View all comments
Петко
Петко
3 години преди

Здравейте Даниел,
Имам въпрос относно header.php файл в дъщерна тема.
Достатъчно ли е да копирам файла от основната тема и да добавя в него кода, който искам да добавя? или е необходимо да добавя и допълнителен ред, по образец на style.css файла, ред 11 от примера: @import url(„../ДИРЕКТОРИЯТА НА ГЛАВНАТА ТЕМА/style.css“);