Как создать дочернюю тему Вордпресс

Как создать дочернюю тему WordPress
WordPress — гибкая система, в которой можно легко настроить что угодно: цвет, шрифт, ссылку на кнопке WooCommerce и так далее.

Проблема в том, что если вы измените файлы темы, то при следующем обновлении темы файлы с изменениями будут заменены новыми файлами.

Дочерняя тема может решить эту проблему, то есть вы сможете легко добавлять собственный функционал и обновлять родительскую тему.

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

В данной статье мы рассмотрим:

  • Что такое дочерняя тема
  • Обновления темы
  • Порядок в файлах
  • Как создать дочернюю тему
    1. Создайте папку дочерней темы в папке родительской темы
    2. Создайте файл style.css в папке дочерней темы
    3. Добавьте файл functions.php в дочернюю тему
    4. Добавьте картинку
  • Как работает дочерняя тема
  • Как изменять иные файлы

Что такое дочерняя тема

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

Платные и бесплатные темы имеют большее или меньшее число параметров, но если вы планируете добавить собственные изменения в используемую тему, то правильнее добавлять их в дочернюю тему.

Если вы добавите код прямо в файлы родительской темы, то при следующем обновлении темы изменения будут заменены новыми файлами темы.

Дочерняя тема решает эту проблему, позволяя добавлять изменения в отдельные файлы, которые остаются нетронутыми при обновлении родительской темы.

Когда вы используете дочернюю тему, WordPress сначала проверяет дочернюю тему на наличие нужного функционала, и если в дочерней теме этого функционала нет, WordPress использует функционал из родительской темы.

Два аргумента для использования дочерней темы: Обновления темы и Порядок в файлах.

Используйте дочернюю тему, даже если вы собираетесь делать небольшие изменения на веб-сайте.

Обновления

Если вы будете делать изменения в главной теме, то в одном из следующих обновлений изменения будут заменены новой версией файлов. Вы можете без проблем:

  • Перестать обновлять тему, чтобы не потерять изменения при обновлениях,
  • Обновлять тему, но рано или поздно файлы с изменениями будут заменены новыми файлами

Если вы перестанете обновлять тему, то это увеличивает шансы хакеров взломать веб-сайт, поскольку устаревший софт — одна из основных причин взлома веб-сайтов. Всегда обновляйте WordPress, темы и плагины.

  • Почему у вас должна быть последняя версия WordPress

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

Порядок

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

Поскольку дочерние темы основываются на родительских темах, то дочерняя тема будет являться набором изменений родительской темы, собранных компактно в одном месте.

Создание дочерней темы

Многие разработчики тем предоставляют готовую дочернюю тему на веб-сайте. Зайдите на веб-сайт вашей темы и попробуйте найти дочернюю тему.

Дочерняя тема Astra и GeneratePress.

Если темы нет, то создайте собственную дочернюю тему по данной инструкции:

  1. Создайте папку темы в .../wp-content/themes/
  2. Создайте файл style.css с информацией о дочерней теме.
  3. Создайте файл functions.php и добавьте в него программный код для использования стилей родительской темы.
  4. По желанию — добавьте картинку темы для выведения во Внешний вид — Темы.

После этого активируйте новую дочернюю тему, — веб-сайт должен выглядеть так же, как с родительской темой, но будет использовать дочернюю тему.

1. Создайте папку дочерней темы в папке родительской темы

Через ftp или хостинг-панель создайте папку в .../wp-content/themes/ с названием дочерней темы. В этом примере дочерняя тема будет называться twentyseventeen-child, и будет работать на базе родительской темы Twenty Seventeen.

2. Создайте файл style.css в папке дочерней темы

Внутри папки .../wp-content/themes/twentyseventeen-child создайте файл, назовите его style.css и добавьте в него информацию о дочерней теме:

Строки Theme Name и Template являются обязательными, Theme name сообщает Вордпрессу название темы, и это название выводится во Внешний вид — Темы. Template говорит Вордпрессу, какая тема будет родительской для данной темы.

Остальные строки понятны сами по себе, кроме Tags и Text Domain. В Tags содержатся теги, которые используются репозитарием WordPress для описания темы. Я скопировал теги темы Twenty Seventeen. Text domain используется для перевода темы и должен быть уникален, вы можете использовать название новой дочерней темы.

3. Добавьте файл functions.php в дочернюю тему

Теперь дочерняя тема может работать. Активируйте новую тему и перезагрузите страницу, вы увидите, что вся информация находится на веб-сайте, но отсутствуют некоторые стили. WordPress сначала ищет функционал в дочерней теме, но если он отсутствует, берет этот функционал из родительской темы.

В этом примере WordPress использует файл стилей дочерней темы, так что некоторые стили родительской темы не загрузились. Чтобы загружать стили родительской темы, необходимо добавить программный код в файл functions.php. Создайте его в .../wp-content/themes/twentyseventeen-child, и добавьте этот программный код:

Сейчас веб-сайт должен выглядеть точно так же, как с родительской темой. Вы можете без труда добавлять изменения в файлы style.css(или Внешний вид — Изменить — Дополнительные стили) и functions.php.

  • Файл functions.php

4. Добавьте картинку

Вы можете без труда добавить картинку темы, которая выводится в меню Внешний вид — Темы. К примеру, сделайте скриншот веб-сайта, сохраните файл с именем screenshot.png и положите в папку дочерней темы.

Как работает дочерняя тема

Дочерняя тема работает на уровне файлов. Когда требуется какой-то файл для загрузки темы, WordPress проверяет, есть ли нужный файл в дочерней теме. Если есть, используется содержание этого файла, если нет, то используется файл родительской темы.

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

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

Как изменять иные файлы

Процесс изменения иных файлов родительской темы такой: если вы планируете сделать изменения в футере, скопируйте файл footer.php из родительской темы в дочернюю, сделайте изменения и сохраните файл. После этого сделанные изменения должны появиться на веб-сайте.

Заключение

Дочернюю тему можно легко создать за пару минут, это даст вам инструмент для увеличения функционала темы без проблем с обновлениями.

Для усиления безопасности возможность редактирования файлов в разделе Внешний видРедактор, и ПлагиныРедактор можно отключить. Как это сделать.

Надеюсь, статья была полезна. Оставляйте комментарии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *