Създаване на child theme за Вашата WordPress тема
Ако променяте файловете на дадена тема директно, работата Ви ще бъде загубена при следващото обновяване на темата. Child theme предотвратява това. Това е малка тема, която наследява всичко от друга тема, родителската тема, с изключение на това, което добавите в нея сами. Родителската тема продължавате да обновявате както обикновено. Тук ще прочетете кога Ви е необходим child theme и как да го създадете с File Manager в DirectAdmin.
Необходим ли Ви е?
| Искате да | Необходим ли е child theme? |
|---|---|
| Промените блокова тема в Редактора на сайта (Облик > Редактор): цветове, шрифтове, горен и долен колонтитул | Не. Тези промени се съхраняват в базата данни и остават след обновяване. |
| Добавите няколко реда CSS | Не. Използвайте Допълнителен CSS в Персонализиране (класическа тема) или в Стилове в Редактора на сайта. |
| Добавите функция, която няма връзка с оформлението, например интеграция или формуляр | Не. Тя трябва да е в plugin, за да работи и след смяна на темата. |
| Промените шаблонен файл на темата, добавите много собствен CSS или PHP код, свързан с оформлението | Да. |
Използвате блокова тема? Тогава първо опитайте в Редактора на сайта. Ако искате да запазите промените си от Редактора на сайта във файлове, официалният plugin Create Block Theme може да създаде child theme вместо Вас.
Стъпка 1: намерете папката на родителската тема
- Отворете File Manager в DirectAdmin. Вижте Отваряне на File Manager: папките във Вашия пакет.
- Отидете в
domains/example.com/public_html/wp-content/themes. - Запишете точното име на папката на Вашата тема, например
hoofdthema. Става дума за името на папката, а не за името, което виждате в WordPress.
Стъпка 2: създайте папката и style.css
- В папката
themesкликнете върху New Folder и създайте напримерhoofdthema-child. - Отворете тази папка, кликнете върху New File и създайте
style.css. - Кликнете с десния бутон на мишката върху файла, изберете Edit, поставете заглавната част по-долу и кликнете върху Save.
/* Theme Name: Hoofdthema Child Template: hoofdthema Description: Eigen aanpassingen voor example.com Version: 1.0.0 */ /* Je eigen CSS komt hieronder. */
Редът Template: е най-важният. В него трябва да стои точното име на папката на родителската тема, със същите главни букви и тирета. Ако не съвпада, WordPress ще съобщи, че родителската тема липсва.
Стъпка 3: functions.php или theme.json
Класическа тема: създайте в същата папка файл functions.php, който зарежда Вашия stylesheet:
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style(
'hoofdthema-child',
get_stylesheet_uri(),
array(),
wp_get_theme()->get( 'Version' )
);
} );
Дали родителската тема сама зарежда своя stylesheet, зависи от темата. Проверете в документацията на Вашата тема. Ако след активиране сайтът Ви изглежда без оформление, трябва да заредите и stylesheet на родителската тема с get_template_directory_uri() . '/style.css'. Файлът functions.php на child темата не замества този на родителската: зареждат се и двата, като първо се зарежда този на child темата. Затова никога не копирайте функции от functions.php на родителската тема, тъй като дублираните имена на функции водят до критична грешка.
Блокова тема: обикновено не е необходим functions.php. Ако например искате друга цветова палитра, създайте собствен theme.json. WordPress го обединява с този на родителската тема, така че в него включвате само това, което искате да промените.
Ако искате да промените шаблон, копирайте само този конкретен файл от родителската тема на същото място във Вашата child тема и редактирайте копието. WordPress търси първо в child темата, а след това в родителската. Не копирайте всичко, иначе няма да получавате подобренията на родителската тема.
Стъпка 4: активиране
- В WordPress отидете в Облик > Теми. Вашият child theme е в списъка. Кликнете върху Активиране.
- Прегледайте сайта си: горен колонтитул, менюта, уиджети и цветове. При необходимост настройте отново менютата и настройките в Персонализиране.
- Оставете родителската тема инсталирана и я поддържайте обновена. Без родителската тема child темата не работи.
Предпочитате да създадете child theme на собствения си компютър? Тогава архивирайте папката като zip и я качете в WordPress в Облик > Теми с бутона Добавяне на тема, след това Качване на тема. Или качете папката с File Manager или SFTP в wp-content/themes, вижте Качване и изтегляне на файлове.
Връщане към старата тема
Активирайте отново родителската тема в Облик > Теми. Ако поради грешка в child темата нямате достъп до администрацията, преименувайте папката на child темата в File Manager, например на hoofdthema-child-uit. Тогава WordPress ще превключи към стандартна тема, ако такава все още е инсталирана. Повече за това ще намерите в Грешка 500 или "критична грешка" на Вашия уебсайт (включително след обновяване на WordPress).
Допълнителна информация
- Child themes на developer.wordpress.org (на английски)
Искате да научите повече? Запишете се за безплатния курс по WordPress, урок 5.2 Създаване на child theme.
