Проблема дуже поширена в WordPress: коли ви редагуєте файли батьківської (основної) теми безпосередньо (наприклад, `style.css`, `functions.php` чи шаблони), оновлення теми перезаписує ці файли, і всі ваші зміни зникають. Це зроблено навмисно, щоб оновлення проходили безпечно.
Дочірні теми
Найкраще рішення — створити дочірню тему (child theme). Вона успадковує весь вигляд і функціональність батьківської теми, але ваші зміни зберігаються в окремій папці, яка не чіпається при оновленні батьківської теми. Це офіційно рекомендований спосіб від WordPress.
Як створити дочірню тему (покроково)
Є два простих способи: вручну або через плагін.
Спосіб 1: Вручну (рекомендую, бо дає повний контроль)
1. Підключіться до сайту по FTP/SFTP (або через Файловий менеджер хостингу).
2. Створіть нову папку в `wp-content/themes/`. Назвіть її, наприклад, `nazva-temi-child` (де `nazva-temi` — це назва папки вашої платної теми, наприклад, якщо тема в папці `avada`, то `avada-child`).
3. Створіть файл `style.css`** в цій папці з таким вмістом (обов’язковий заголовок!):
Theme Name: Назва вашої теми Child
Theme URI: https://vas-site.com/
Description: Дочірня тема для [назва теми]
Author: Ви
Author URI: https://vas-site.com/
Template: nazva-temi /* <– ТУТ НАЗВА ПАПКИ БАТЬКІВСЬКОЇ ТЕМИ, точно як є! */
Version: 1.0
*/
@import url(“../nazva-temi/style.css”); /* Підключення стилів батьківської теми */
/* Тут ваші кастомні CSS-стилі */
body { background: #f0f0f0; }
“`
Замініть `nazva-temi` на реальну назву папки батьківської теми (перевірте в `wp-content/themes/`).
4. **Створіть файл `functions.php`** (необов’язково, але важливо для правильного підключення стилів):
“`
<?php
add_action( ‘wp_enqueue_scripts’, ‘my_child_theme_styles’ );
function my_child_theme_styles() {
wp_enqueue_style( ‘parent-style’, get_template_directory_uri() . ‘/style.css’ );
wp_enqueue_style( ‘child-style’, get_stylesheet_directory_uri() . ‘/style.css’, array(‘parent-style’) );
}
?>
“`
Це забезпечить, що стилі батьківської теми завантажуються першими, а ваші — поверх них.
5. Зайдіть в адмінку WordPress → Зовнішній вигляд → Теми і активуйте нову дочірню тему. Сайт виглядатиме так само, як раніше.
6. Перенесіть свої зміни:
– CSS → в `style.css` дочірньої теми.
– PHP-код → в `functions.php` дочірньої.
– Шаблони (наприклад, `header.php`, `single.php`) → скопіюйте файл з батьківської теми в дочірню і редагуйте там. WordPress автоматично візьме версію з дочірньої.
Спосіб 2: Через плагін (швидко, без FTP)
Встановіть безкоштовний плагін Child Theme Configurator або One-Click Child Theme.
– Встановіть → активуйте.
– Перейдіть в інструмент плагіна → оберіть батьківську тему → натисніть “Create Child Theme”.
– Плагін створить усе автоматично.
– Потім редагуйте файли дочірньої теми як зазвичай.
Додаткові поради
Тільки CSS-зміни? Використовуйте Зовнішній вигляд → Налаштувати → Додаткові CSS** — ці стилі зберігаються в базі даних і не зникають при оновленні теми.
Багато кастомного коду? Винесіть його в окремий плагін (наприклад, створіть site-specific plugin через плагін Code Snippets).
Перед оновленням теми завжди робіть бекап сайту (плагін UpdraftPlus або хостинг).
Якщо тема платна (наприклад, Avada, Divi, Enfold), часто в документації є готовий child theme — завантажте його з сайту розробника.
Після створення child theme ваші зміни більше ніколи не зникнуть при оновленнях. Якщо щось не вийде — напишіть, яка саме тема, і я підкажу точніше!








