Дочерняя тема — это такая тема, которая позволяет кастомизировать, дополнять и расширять внешний вид и функции основной темы (родительской). Родительская тема в данном случае остается неизменной. Ее можно спокойно обновлять, не боясь, что все ваши настройки исчезнут.
Создать дочернюю тему очень просто. Для этого нужно в папке themes создать новую папку, в которой будут находится файлы вашей темы. Создайте свой style.css и поместите его в эту папку. Самый минимум выполнен.
Файл style.css обязателен для дочерней темы. В нем прописывается информационный заголовок, по которому WordPress распознает дочернюю тему. Использование и изменение остальных файлов — опционально.
Пример информационного заголовка файла style.css:
Theme Name
— название дочерней темы. (обязательно)Theme URI
— адрес сайта дочерней темы. (опционально)Description
— описание дочерней темы. Например: Моя первая дочерняя тема. (опционально)Author URI
— адрес сайта автора дочерней темы. (опционально)Author
— имя автора дочерней темы. (опционально)Template
. — название папки родительской темы, регистрозависима. (обязательно)- ПРИМЕЧАНИЕ. При изменении данной строки вы должны переключится на другую тему и обратно на дочернюю тему.
Version
— версия дочерней темы. Например: 0.1, 1.0. (опционально)
После информационного заголовка укажите директиву @import
, для импорта стилей из родительской темы:
Директива @import
должна быть первым правилом. Если вы поместите другие правила выше этой директивы, то файл стилей родительской темы не будет импортирован.
В результате у вас должна получится подобная структура:
- wp-content
- themes (папка со всеми темами)
- twentynineteen (папка родительской темы Twenty Nineteen)
- twentynineteen-child (папка дочерней темы; может быть названа как угодно)
- style.css
- themes (папка со всеми темами)
Чтобы ваша тема стала активна, перейдите в панель управления сайтом, затем Внешний вид › Темы и активируйте дочернюю тему.
Дочерняя тема также может содержать и другие файлы, среди них:
- style.css — (обязательный) полностью заменяет такой же файл родительской темы.
- functions.php — дополняет
functions.php
родительской темы (загружается перед ним). - файлы шаблона —
index.php
,home.php
и т.д., которые есть/нет в родительской теме. Если файл есть в дочерней теме, то этот файл полностью заменит родительский файл. Например: создавfooter.php
и скопировав в него содержимоеfooter.php
из родительской темы, мы можем изменять вывод, не меняя файл родительской темы. - другие файлы — любые другие файлы и папки. Например, подтема может использовать новые изображения, которые подключаются в дополнительных CSS правилах.
Использование functions.php
В отличие от других файлов дочерней темы, functions.php не заменяет родительский файл, а служит дополнением к нему. Вы можете переопределить функции, или добавлять новые.
Особенности:
- Дочерняя тема работает только в том случае, если установлена родительская тема. Если же вы решили удалить основную тему, то ваша дочерняя тема перестанет работать.
- В дочерней теме можно изменить практически все, но нужно понимать что и как работает. Можно изменять и добавлять свои шаблоны (home.php, index.php и т.д.), изменять футер и хедер.
Чтобы не мучиться с созданием файлов и папок, можно воспользоваться одним из плагинов для создания подтем, например Child Theme Configurator.