Дочерняя тема WordPress – тема, которая позволяет расширить или изменить функциональные возможности другой темы, так называемой родительской темы.
Для того, чтобы создать дочернюю тему, необходимо создать в папке wp-content\themes папку с произвольным именем и положить туда любой из файлов шаблона, который нужно редактировать. Это позволит работать со стилями, изменять верстку, менять внешний вид, не затрагивая файлов шаблона.
Назревает вопрос: «А почему бы стразу не поменять стили в родительской теме?». Ответ достаточно простой: все современные и качественные темы регулярно обновляются, соответственно обновляется и файлы, в том числе function.php и style.css. Которые большинство веб мастеров дорабатывают под свои нужды, используя свои дизайнерские решения. Чтобы после каждого обновления темы не пришлось дорабатывать стили и создается дочерняя тема. Не стоит забывать и о возможности допущения ошибки редактировании файлов основного шаблона, что может вызвать некоторые проблемы у определенных пользователей, дочерняя же тема позволит произвести аккуратное редактирование, без затрагивания жизненно важных для сайта файлов.
Кроме файлов стилей и функций, можно поместить в дочернюю тему и другие файлы шаблона WordPress. То есть, для примера, таким методом можно избавить себя от проблемы появления надписи «Можно использовать следующие HTML-теги и атрибуты» после каждого обновления.
А теперь перейдем к реализации дочерней темы:
Для этого понадобится уже упомянутый файл style.css в папке с дочерней темой, остальные файлы не являются обязательными.
Те, кто знаком с css, наверняка не раз правили стили своей темы и обращали внимание, что вначале каждой из них есть краткая информация о теме. Но кроме предоставления информации пользователю, данный файл может предоставлять информацию и самому WordPress.
Вот содержание моего style.css: http://needsite.net/wp-content/themes/sparkling/style.css.
Для того чтобы присвоить родительской теме дочернюю, достаточно просто прописать:
Theme Name: имя темы
Template: имя родительской темы
Например, так:
Theme Name: Suffusion
Template: Twenty Fourteen
Стоит учесть, что файл дочерней темы в WordPress будет заменять файл родительской темы. Поэтому, для того чтобы внести небольшие изменения, необходимо импортировать файл. Сделать это можно с помощью команды @import.
Вот как это реализуется:
/*
* Theme Name: Suffusion
* Description: Описание темы.
* Theme URI: http://aquoid.com/news/themes/suffusion/
* Version: 4.4.7
* Author: Sayontan Sinha
* Author URI: http://mynethome.net/blog
* Template: Twenty Fourteen
*/
@import url("../TwentyFourteen/style.css");
a {Color:blue;}
Пояснения:
Theme Name – дали имя;
Description – дали описание;
Theme URI – ссылка на тему;
Version – версия;
Author – автор;
Author URI – ссылка на автора;
Template – присвоили родительскую тему.
@import – импорт стилей из родительской темы.
А дальше - все так же как с обычным файлом стилей.
Файл function.php не заменяет своего родителя, он его дополняет. То есть тема будет черпать функции из обоих файлов. Очень удобно, ведь как я уже сказал, при обновлении темы, все функции, которые вы прописали в файл дочерней темы останутся.
Не забудьте активировать тему в панели администратора WordPress.