Дочерняя тема — это такая тема, которая позволяет кастомизировать, дополнять и расширять внешний вид и функции основной темы (родительской). Родительская тема в данном случае остается неизменной. Ее можно спокойно обновлять, не боясь, что все ваши настройки исчезнут.
Создать дочернюю тему очень просто. Для этого нужно в папке 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.