Налаштування теми для WordPress за допомогою дочірніх тем, CMS та движки для сайтів
Отже, у вас на сайті є тема для WordPress, неважливо безкоштовна чи комерційна, і ви хочете її налаштувати. Всюди даються рекомендації робити це, створивши дочірню тему. Але що це означає і як це зробити?
Що таке дочірня тема?
WordPress Codex визначає дочірню тему (child theme) таким чином:
Дочірня тема WordPress (child theme) це тема, яка успадковує функціональність іншої теми, що називається батьківською (parent theme), і дозволяє змінювати або додавати функції батьківської теми.
Використання дочірньої теми для існуючої модифікації, це більш безпечний і простий спосіб внести свої зміни. Замість модифікації файлів теми у вихідній директорії ви можете створити дочірню тему.
По суті, дочірня тема WordPress працює разом з оригінальною, але заміщає зазначені вами її частини, не вносячи реальних змін до самої оригінальної теми.
Навіщо взагалі використати дочірню тему?
Якщо на WordPress-сайті вже встановлена безкоштовна або комерційна тема, то це відмінна можливість адаптувати її під свої потреби. Можливо, ви хочете налаштувати деякі кольори, додати сайдбар, змінити відображення деяких записів або будь-що.
Уявіть, що одного дня ви зайшли в панель адміністрування свого сайту і побачили, що доступне оновлення для встановленої теми. Можливо, це виправлення якихось помилок у CSS або безпеки теми.
Якщо ви натиснете кнопку "Оновити", то змінені вами в оригінальній темі файли будуть заміщені оновленими! Всі зміни будуть втрачені, і вам доведеться починати все спочатку.
Використовуючи механізм дочірніх тем, ви можете оновлювати батьківську тему.завгодно без втрати внесених змін. Можливо, після чергового оновлення батьківської теми вам потрібно буде внести деякі коригування в дочірню, але це однозначно легше, ніж робити все заново.
Тепер зрозуміло, навіщо, але що робити далі?
Ваша оригінальна тема, яку ми називаємо також батьківською темою, знаходиться у папці /wp-content/themes/ .
Наприклад, ми створимо дочірню тему для WordPress, засновану на стандартній темі "Twenty Twelve".
В даному випадку, щоб створити дочірню тему, нову папку поруч із папкою теми «Twenty Twelve» і назвемо її twentytwelve-child:

Зміст файлу стилів style.css у папці дочірньої теми потрібно змінити так:
У цьому коді є два найважливіші рядки:
- Template: twentytwelve – яка повідомляє WordPress, що ця тема є дочірньою стосовно теми «Twenty Twelve»;
- @import url("../twentytwelve/style.css"); – яка підвантажує файл стилів style.css із батьківської теми (у нашому випадку це twentytwelve).
Тепер ви можете увійти в панель управління WordPress, побачити там тему «Twenty Twelve Child» та активувати її.
Рядок з оператором @import не є обов'язковим для того, щоб дочірня тема була валідною. Я включив її для того, щоб простіше було робити модифікації.
Я створив свою дочірню тему! Що тепер?
Тепер, коли ви захочете внести зміни до своєї теми, всі маніпуляції треба проводити з вашою дочірньою темою.
Файли з директорії вашої дочірньої теми замінюють однойменні файли в папці батьківської теми. Тому будь-який файл, який ви хочете змінити, слід спочатку скопіювати з папки з батьківською темою до папки з дочок,після чого можна вносити виправлення.
Те саме можна сказати і про інші файли, які знаходяться поза папкою вашої батьківської теми. Ви можете додати їх до папки з дочірньою темою, і WordPress їх використовувати.
Виняток становить лише файл functions.php. Спочатку завантажується файл functions.php із дочірньої теми, а за ним functions.php із директорії батьківської теми. Тому немає необхідності копіювати functions.php з батьківської папки до дочірньої, просто змініть його в папці з дочірньою темою.
Вищеописаний механізм дозволяє взяти всю функціональність із батьківської теми. До батьківських тем можна підключати додаткові функції ( pluggable function ) і перевизначати їх із дочірніх без виникнення конфліктів.
Що означає pluggable function?
Якщо коротко, що pluggable function це механізм перевірки те, оголошена функція раніше чи ні. Це запобігає конфліктам у випадку, коли в дочірній темі оголошується функція з ім'ям, що вже існує в батьківській темі.
Висновок
Переклад статті "How to Customize The Words Theme With a Child Theme" був підготовлений дружною командою проекту Сайтобудування від А до Я.