Дочерняя тема WordPress

Июн 29 2018 Published by under WordPress

intro
Вы относитесь к той категории вебмастеров, которая постоянно недовольна внешним видом и функционалом готовых тем для WordPress? Вы готовы ковыряться в коде шаблона, чтобы подогнать его под свои нужды и представления о прекрасном? ОК, парни, вы на нужной странице. Эта статья написана специально для вас.

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

Что такое дочерняя тема WordPress (child theme WordPress) и зачем она нужна

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

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

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

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

Разработчики WordPress позаботились чтобы созадать дочернюю тему было не просто, а очень просто. Ее сделать можно, выполнив три простых шага

• Создаем директорию для новой темы в каталоге тем wp-content/themes
• В созданной папке создаем файл style.css и заполняем его
• Активируем дочернюю тему

Рассмотрим создание новой темы на конкретном примере. Будем создавать дочернюю тему basic-child для рабочей темы basic.

Создаем директорию basic-style. В файле style.css прописываем:

/**
* Theme Name: basic-child
* Template: basic
*/
@import url(‘../basic/style.css’);

Где Theme Name – название вновь созданной темы
Template: название родительской темы
Директива import url указывает путь до файла стилей родительской темы.

Остальные теги в новой теме не обязательны. При желании вы легко найдете и пропишите нужные.

После активации ваш сайт будет работать с новой темой.

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

И в чем здесь прикол? Ведь сайт работает, как и работал. На самом деле — дело в следующем. Мы будем вносить изменения в новую тему со всеми вытекающими.

Работа с дочерней темой

Работа со стилями

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

font-size: 0.8em;
font-color: red

Таким образом мы можем задать стили любого элемента родительской темы. Найти их вы сможете с помощью средств разработчика браузера или специальных расширений.

Работа с шаблонами

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

Иногда проще скопировать готовый шаблон из родительской темы и редактировать его в дочерней. Если вы сделаете, что-то не то – всегда можно удалить этот файл и будет работать шаблон родительской темы.

Также вы можете создавать шаблоны, которых нет в родительской теме. Если, например, нет файла page.php – вы можете создать его в дочерней теме. И, согласно иерархии шаблонов, прописанной в WordPress codex, WP его подключит при отображении страницы.

Работа с functions.php

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

Такой подход позволяет безопасно редактировать файл functions.php.

Вы хотите добавить некую функцию в тему. Самый быстрый (но совсем не самый лучший вариант) – редактировать файл functions.php активной темы. Однако корявый код способен угробить сайт. Если вы внесете корректные изменения – они проживут точно до следующего обновления темы.

Если вы хотите только добавить функцию то лучше делать это с помощью плагина. Корявый код с ошибками WP не пропустит и деактивирует плагин

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

Создание дочерней темы с помощью плагина

Если вам необходимо создать дочку быстро и без лишних телодвижений — воспользуйтесь любым плагином дочерних тем: Child Theme Wizard, Child Theme Configurator, Childify Me или любым другим. Процесс создания «дочки» интуитивно понятен и займет 10-15 секунд, после чего плагин можно удалить.

А как быть если вы решили сделать «дочку» уже измененной темы? Поможет плагин Child Theme Configurator. Он сам просканирует файлы родительской темы и внесет измененные в дочернюю.

outro

В заключение хотелось бы напомнить — никогда не изменяйте файлы рабочей темы — используйте дочернюю. Иначе при обновлении вы потеряете все обновления. Это рекомендуемый кодексом WorPress способ.

Если вы хотите внести изменения только в стили CSS — возможно лучше воспользоваться плагином для редактирования CSS. Если вы хотите только добавить функции в файл function.php тоже можно воспользоваться плагином.

Во всех остальных случаях при серьезных изменениях — делайте «дочку».

Да прибудет с вами сила, высокий конверт и профит.

 

 

No responses yet

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

31 - столько SQL запросов к базе.
0,147866 - за столько сгенерировалась страница.