Налаштування теми для 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 у папці дочірньої теми потрібно змінити так:

У цьому коді є два найважливіші рядки:

  1. Template: twentytwelve – яка повідомляє WordPress, що ця тема є дочірньою стосовно теми «Twenty Twelve»;
  2. @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" був підготовлений дружною командою проекту Сайтобудування від А до Я.