Дочерняя тема — это такая тема, которая позволяет кастомизировать, дополнять и расширять внешний вид и функции основной темы (родительской). Родительская тема в данном случае остается неизменной. Ее можно спокойно обновлять, не боясь, что все ваши настройки исчезнут.

Создать дочернюю тему очень просто. Для этого нужно в папке 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

Чтобы ваша тема стала активна, перейдите в панель управления сайтом, затем Внешний вид › Темы и активируйте дочернюю тему.

Дочерняя тема также может содержать и другие файлы, среди них:

  • style.css — (обязательный) полностью заменяет такой же файл родительской темы.
  • functions.php — дополняет functions.php родительской темы (загружается перед ним).
  • файлы шаблона — index.phphome.php и т.д., которые есть/нет в родительской теме. Если файл есть в дочерней теме, то этот файл полностью заменит родительский файл. Например: создав footer.php и скопировав в него содержимое footer.php из родительской темы, мы можем изменять вывод, не меняя файл родительской темы.
  • другие файлы — любые другие файлы и папки. Например, подтема может использовать новые изображения, которые подключаются в дополнительных CSS правилах.

Использование functions.php

В отличие от других файлов дочерней темы, functions.php не заменяет родительский файл, а служит дополнением к нему. Вы можете переопределить функции, или добавлять новые.

Особенности:

  • Дочерняя тема работает только в том случае, если установлена родительская тема. Если же вы решили удалить основную тему, то ваша дочерняя тема перестанет работать.
  • В дочерней теме можно изменить практически все, но нужно понимать что и как работает. Можно изменять и добавлять свои шаблоны (home.php, index.php и т.д.), изменять футер и хедер.

Чтобы не мучиться с созданием файлов и папок, можно воспользоваться одним из плагинов для создания подтем, например Child Theme Configurator.