Дочерняя тема WordPress служит своего рода надстройкой, используемой для изменения и дополнения функционала родительской темы. Главное преимущество дочерней темы — возможность безопасного обновления родительской темы без риска при этом потерять ранее внесенные изменения. В этой статье я расскажу как создать простую дочернюю тему.
Создать дочернюю тему в WordPress очень просто. Самая простая дочерняя тема состоит всего из одного файла. Для этого в themes создайте каталог дочерней темы и положите в него файл style.css следующего содержания:
/* Theme Name: Дочерняя тема WordPress Theme URI: http://codebeer.ru/ Description: Описание для дочерней темы Author: Code.Beer Author URI: http://codebeer.ru/ Template: twentyfifteen Version: 0.1.0 */
Краткое описание каждой строки:
Theme Name— название дочерней темы.Theme URI— адрес сайта дочерней темы.Description— описание дочерней темы.Author URI— адрес сайта автора дочерней темы.Author— имя автора дочерней темы.Template— название папки родительской темы.Version— версия дочерней темы.
Файл стилей родительской темы полостью заменяет стили родительской темы. Если вы планируете использовать стили родительской темы, используя директиву @import, выполните импорт стилей родительской темы.
/*
Theme Name: Дочерняя тема WordPress
Theme URI: http://codebeer.ru/
Description: Описание для дочерней темы
Author: Code.Beer
Author URI: http://codebeer.ru/
Template: twentyfifteen
Version: 0.1.0
*/
/* Импорт стилей родительской темы */
@import url("../twentyfifteen/style.css");
/* Далее идут стили дочерней темы */
#site-title a {
color: #009900;
}
Файлы шаблона дочерней темы
В дочерней теме мы можем добавить новый или заменить любой из имеющихся компонентов в родительском шаблоне, для этого просто создайте файл с таким же именем в каталоге дочерней темы.
В отличии от других компонентов темы, файл functions.php дочерней темы дополняет функции, описанные в родительской теме. Дочерняя тема может переопределить функцию PHP родительской темы, для этого просто объявите ее снова.
Если для использования функции require_once, вам нужно указать расположение файлов, которые находятся внутри папки дочерней темы, используйте get_stylesheet_directory():
require_once( get_stylesheet_directory(). '/my_included_file.php' );