Зачем нужна дочерняя тема?
В двух словах – разработчик периодически выдает обновления своей темы.
Если тему обновить – то все наши ручные правки пропадут.
Предвижу возражения – “я там ничего не правил, все сделано стандартными методами…”. Я тоже так думал, это как бы как с движком WordPress – можно периодически обновлять, будут исправлены какие- ошибки и будут добавлены новые..
Да, только в случае с темой это становится критичным. Кто-то где-то сделал ошибку в новой версии темы – и всё, сайту конец :( Что-то съехало, что-то перестало показываться.
К тому же предполагается, что тема отвечает только за вывод.
Но некоторые разработчики добавляют разный функционал в тему, который не всегда корректно работает. Например, вариант микроразметки sсhema.org – вот код из одной темы
Ой:
- тип страницы “зашит” только один Article, у а Вас например интернет-магазин с товарами и Вам нужен Product
- в самой теме эти настройки нигде не регулируются и отключить это нельзя
- описание берется не из Вашего тега Descpiption, а генерируется свое на основе контента страницы (как показала практика – криво генерируется)
- и да, функция гордо называется “богатый снипет”
И такое “счастье” после обновления сломает часть функционала Вашего сайта…
Вообщем выход один:
- сделали сайт
- отладили все ошибки темы
- и сохранили текущее состояние в виде дочерней темы (или дубликат темы)
- и основная тема может обновляться, это уже не затронет Вашу текущую тему.
Только так.
Вышло обновление темы – можете попробовать. Если появился новый функционал, который Вам сайт ломает – легко вернулись на отлаженную дочернюю тему (а если дочерней темы нет – вернуться некуда). В случае серьезного проекта вообще все обновления и переделки необходимо делать в отдельном месте, например в домене третьего уровня.
- копируем сайт в домен третьего уровня, например test.mysite.ru
- делаем все обновления
- тестируем, убираем все ошибки разработчиков темы, плагинов и пр.
- возвращаем сайт на основной домен
Дочерняя тема и дубликат темы.
В чем разница? Мы понимаем, что у нас может быть:
- изменение отображение сайта – отвечает файл стилей style.css
- изменение функционала работы сайта через дополнительные функции php в файле functions.php
- изменения функционала работы сайта через другие файлы темы php – header.php. footer.php и пр.
Дочерняя тема | Дубликат темы |
|
|
В двух словах:
- в дочерней теме используется базовый функционал родительской темы, при необходимости можно в своей дочерней теме менять отображение и функционал – и эти Ваши изменения не будут затронуты при обновлении родительской темы
- в дубликате темы – тема работает абсолютно самостоятельно, можно вносить любые правки
Как сделать дочернюю тему
Дочерняя тема размещается в своей собственной папке внутри wp-content/themes. Схема ниже показывает положение дочерней темы относительно ее родительской темы (Twenty Ten) в типичной структуре папок WordPress:
- public_html
- wp-content
- themes (папка со всеми темами)
- twentyten (папка родительской темы Twenty Ten)
- twentyten-child (папка нашей дочерней темы; может быть названа как угодно)
- style.css (необходимый файл, должен быть назван style.css)
- themes (папка со всеми темами)
- wp-content
Эта папка может содержать как style.css, так и дополнительные файлы, относящиеся к теме:
- style.css (обязательно)
- functions.php (опционально)
- файлы шаблона (опционально)
- другие файлы (опционально)
style.css — единственный необходимый файл в дочерней теме. Он обеспечивает информационный заголовок, по которому WordPress опознает дочернюю тему, и он заменяет style.css родительской темы.
Как и с любой темой WordPress, информационный заголовок должен быть в начале файла, единственное отличие — в дочерней теме строка Template:
обязательна, чтобы WordPress знал, какая тема является родительской.
Вот пример информационного заголовка файла style.css дочерней темы:
/* Theme Name: Twenty Ten Child Theme URI: http: //example.com/ Description: Дочерняя тема для темы Twenty Ten Author: Ваше имя Author URI: http: //example.com/about/ Template: twentyten Version: 0.1.0 */
Краткое пояснение каждой строки:
Theme Name
. (обязательно) Название дочерней темы.Theme URI
. (опционально) Адрес сайта дочерней темы.Description
. (опционально) Описание дочерней темы. Например: Моя первая дочерняя тема, бугага!Author URI
. (опционально) Адрес сайта автора дочерней темы.Author
. (опционально) Имя автора дочерней темы.Template
. (обязательно) Название папки родительской темы, регистрозависимое.Version
. (опционально) Версия дочерней темы. Например: 0.1, 1.0.
Часть после закрывающего */
используется как обычный файл стилей. Далее можно писать правила стилей, которые будут применены WordPress.
Или можно воспользоваться более актуальным и быстрым способом создания дочерней темы с помощью плагина Child Theme Configurator
Вы можете себе в дочернюю тему скопировать часть (или все) файлы php основной темы.
Например, в данном варианте, в дочерней теме будут использоваться файлы 404.php, header.php, footer.php (со всеми Вашими правками, которые не пропадут при обновлении), остальные файлы PHP будут использоваться из основной родительской темы.
Файл function.php (при его наличии) будет загружаться перед файлом function.php основной темы.
Как сделать дубликат темы
Дубликат темы делаем просто:
- или через FTP делаем копию папки с другим именем (и меняем название темы в файле style.css )
- или используем специальный плагин Theme Duplicator
тут все просто:
- выбираем тему для копирования (плагин предложит из списка)
- выбираем название папки для темы (плагин создаст папку на сервере)
- выбираем название темы (плагин поменяет в style.css )
и отключаем автообновление темы, что бы все наши изменения не пропали
Как отключить автообновление темы WordPress
В файле functions.php необходимо вставить код (можно добавить в самом конце):
remove_action('load-update-core.php','wp_update_themes');
add_filter('pre_site_transient_update_themes',create_function('$a', "return null;"));
wp_clear_scheduled_hook('wp_update_themes');
Или заменить версию темы на номер версии из будущего.
Редактируем файл style.css. Находим в файле строчку Version: с вашими цифрами и меняем их на более позднюю версию, например на 100.0.0. Это некорректный способ – но будет работать, движок WordPress будет ошибочно считать, что нет новой версии. Вот тут
Если у Вас сделан дубликат темы – то Вам это не нужно :) Проверяться на обновление будет только первоначальная тема, дубликат проверяться не будет – название темы другое.
Это позволяет обновить оригинальную тему (она загружена – но не активирована), переключиться на нее, посмотреть изменения (посмотреть какие ошибки были исправлены) – и потом можно вернуться обратно на дубликат темы (фактически замороженный “слепок” первоначальной темы)
Подпишитесь в VKontakte - нажмите кнопку | ||
Подпишитесь в Telegram - нажмите кнопку | ||
Наша группа ODNOKLASSNIKI |
Вы можете сохранить ссылку на эту страницу себе на компьютер в виде htm файла
Пишите на электронную почту (тема и email будут добавлены автоматически в письмо)
В Вашем браузере должна быть настроена обработка ссылок mailto
site_post@bk.ru
или просто скопируйте адрес e-mail
Почитать в разделе
WordPress

(Читать полностью...)
- Всего статей в разделе: 11
- Показано статей в списке: 10
- Сортировка: название по алфавиту
“Мусорные” страницы

(Читать полностью...)
WP Cron – планировщик задач

(Читать полностью...)
Базовые настройки темы Graphene

(Читать полностью...)
Базовые темы WordPress

(Читать полностью...)
Выбор темы для сайта на WordPress

(Читать полностью...)
Как ускорить сайт на WordPress

(Читать полностью...)
Кэширование WordPress

(Читать полностью...)
Подготовка блога WP к работе нескольких авторов

(Читать полностью...)
Чистим базу данных WP

(Читать полностью...)
Что хранится в файле wp-config.php

(Читать полностью...)