Как создать дочернюю тему (child theme) в WordPress. Как создать дочернюю тему или wordpress child theme

М ногие наши пользователи спрашивают нас, какой шаблон мы используем? Наш ответ заключается в том, что мы используем нестандартную вторичную тему построена на фреймворке. Последующий вопрос большую часть времени состоит из двух частей. Что такое ? Вторая часть вопроса – это то, что является вторичной темой WordPress? Мы уже объяснили, что такое фреймворк WordPress в наших предыдущих статьях. В этой статье, мы сделаем все возможное, чтобы ответить на вопросы, как что такое вторичная тема WordPress, когда вы должны создать дочернюю тему, зачем люди создают дочерние темы, и наконец преимущества и недостатки использования дочерней темы. Мы надеемся, что после прочтения данной статьи вы будете иметь четкое понимание того, что такое дочерняя тема в WordPress, и вы будете знать, следует ли вам использовать дочернюю тему или нет.

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

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

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

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

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

Почему люди используют дочерние темы WordPress?

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

Создание дочерней темы в WordPress может быть также просто, как создание нового style.css – файла в новой папке. Все, что вам действительно нужно, это одна строка в ваш новый style.css для заголовка, который определяет шаблон. Надежная родительская тема может иметь столько файлов шаблона в качестве родительской темы, если не больше. Дочерняя тема может иметь шаблон файлов, которые не доступны даже в родительской теме.

Когда вы используете дочернюю тему?

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

Для пользователей мы рекомендуем дочерние темы только если вы окажетесь постоянно добавляем новые функции для вашей темы в файл functions.php и/или постоянно добавляя/изменяя файл style.css вашей темы. В этих случаях мы настоятельно рекомендуем использовать дочернюю тему. Некоторое время назад во время нашей встречи говорили о WordPress, один из членов спросил нас, что если только добавлять пользовательские стили? Лучше использовать дочернюю тему или пользовательские CSS плагины?

Ответ зависит от того, как смекалка и удобно тебе с технологией. Если вы изменяете только стили для нескольких элементов с помощью пользовательских CSS плагинов, работает просто отлично. Однако, если вы будете изменять всю цветовую гамму, изменять в CSS, и т. д., то вы определенно должны рассмотреть возможность использования дочерней темы.

Выбирать хорошую родительскую тема важно

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

При создании дочерней темы, где вы вынуждены заменять большую родительскую тему, файлы, то вы должны переосмыслить ваш процесс. Например, вам очень нравится тема двадцать одиннадцать, и вы решили создать дочернюю тему. В вашей дочерней теме, у вас был файл style.css, и файл functions.php. Вы решили, что вам не нравится, как выглядит футер, поэтому добавили footer.php. Для заголовка и др. Если это так, то Вы не должны выбирать двадцать одиннадцать качестве родительской темы. Скорее вы должны использовать его как стартер темы, которые вы включаете в свои собственные темы.

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

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

Преимущества использования дочерней темы

Как и в большинстве случаев, существуют преимущества и недостатки использования дочернюю тему в WordPress. Давайте взглянем на преимущества первого.

1. Безопасные Обновления
Дочерняя тема автоматически наследует особенности, стили и шаблоны родительской темы. Это позволяет Вам вносить изменения в ваш сайт с помощью дочерней темы без какого-либо изменения родительской темы. Когда новая версия родительская тема появляется, вы смело можете обновлять его как и все ваши изменения, будут сохранены в дочерней темы.

2. Легко расширяется

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

3. Резервный Безопасный

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

Недостатки использования дочерней темы

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

Другой недостаток часто указывал на то, что разработчики вашей родительской темы могут потерять интерес и отказаться от нее, падение функции, которые Вы использовали в вашей дочерней теме, или принести изменение, которое полностью разрушает вашу дочернюю тему. Это не так плохо, как кажется. В основном потому, что все хорошие темы WordPress с открытым исходным кодом и GPL. Если Разработчик родительской темы покидает проект, то ничего и не говорит, что вы должны отказаться от его использования. Часто бывают времена, когда другие люди один за другим занимаются над проектом. Если разработчик из исходной темы удалит определенную функцию, тогда вы можете просто добавить его в вашу дочернюю тему. У вас есть Код для него. Наконец, если они делают резкие изменения, которые вам не нравятся, то вы всегда можете избежать обновления. Тема обновления имеет решающее значение, когда её безопасно эксплуатировать. Мы всегда рекомендуем пользователям обновлять темы, потому что это помогает обеспечить в будущем совместимость с другими скриптами и плагинами.

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

Вывод

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

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

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

Для чего использовать дочернюю тему

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

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

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

Используя соответствующие .css и .php файлы, вы можете изменить практически все, начиная от стиля и параметров макета, до скриптов которые использует дочерняя тема.

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

Перед тем, как вы начнете это руководство, вам понадобится следующее:

  • Доступ к панели управления WordPress
  • Доступ к (рекомендуется) или

Шаг 1 - Создание дочерней темы в WordPress

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

Вам необходимо создать папку для дочерней темы в стандартном каталоге тем WordPress wp-content/themes . Для удобства и сохранения порядка в каталоге, лучше создать папку с окончанием -child после названия родительской темы. Если хотите, можете добавить название конкретного проекта. Запомните, название каталога не должно содержать пробелы для избежания возможных ошибок. Для создания новой папки воспользуйтесь FTP-клиентом или Файловым Менеджером. Мы рекомендуем использовать бесплатный FTP-клиент FileZilla

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

  1. Войдите в панель управления Hostinger и нажмите на иконку Файловый Менеджер .
  2. Перейдите в папку где установлен WordPress (обычно это public_html ), далее wp-content themes .
  3. Нажмите кнопку Новая папка , введите название дочерней темы и нажмите Создать .
  1. Войдите в созданную папку дочерней темы.
  2. Нажмите кнопку Новый файл , введите style.css в качестве имени файла и нажмите Создать .

  1. Вставьте следующий код в файл:
/* Theme Name: Twenty Seventeen Child Theme URL: http://hostinger-tutorials.ru/twentyseventeen-child/ Description: Twenty Seventeen Child Theme Author: John Doe Author URL: http://hostinger-tutorials.ru Template: twentyseventeen Version: 1.1 Text Domain: twentyseventeen-child */ Custom CSS goes after this line
  1. Смените все значения на соответствующие вашему домену и теме. Самыми важными полями являются Template и Theme name , так как они указывают WordPress на какой родительской теме основана ваша дочерняя тема. Далее, нажмите Сохранить для сохранения изменений.

  1. Добавьте файл functions.php в тот же каталог, но не вставляйте туда код из родительской темы, так как он должен оставаться отдельным от нее. Вместо этого, создайте пустой файл или добавьте новые.php функции необходимые для вашей дочерней темы.
  2. Из панели управления WordPress, перейдите в раздел Внешний вид → Темы и нажмите кнопку Активировать на вашей дочерней теме.

  1. Зайдите на ваш сайт, вы можете увидеть, что тема отображается не совсем правильно (как на картинке снизу). Без паники, это происходит из-за того, что файл functions.php еще не подгружает CSS из родительской темы.

  1. Из панели управления WordPress перейдите в раздел Внешний вид → Редактор и выберите файл functions.php .
  2. WordPress имеет функцию загрузки CSS из родительской темы. Скопируйте данный код в файл function.php дочерней темы:
  1. Нажмите Обновить файл внизу страницы для сохранения изменений.
  2. Посетите ваш сайт вновь. Теперь CSS загружен и ваша дочерняя тема выглядит также, как и родительская.

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

Шаг 2 - Настройка дочерней темы WordPress

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

Шаг 2.1 - Настройка внешнего вида вашей дочерней темы

Для настройки внешнего вида темы вам необходимо отредактировать файл custom.css в каталоге вашей дочерней темы. Для этого можно использовать текстовый редактор и FTP-клиент, файловый менеджер или редактор WordPress (Внешний вид → Редактор) . Вам также необходимы некоторые базовые знания о правилах CSS и умение проверять элементы сайта с помощью браузера.

К примеру, для изменения цвета заднего фона, добавьте следующие CSS правила в файл style.css :

Site-content-contain { background-color: #d5ffa0; position: relative; }

Ниже показано то, каким станет внешний вид вашего сайта после внесения изменений.

Данный процесс применим и для изменения других элементов сайта.

Шаг 2.2 - Добавление и удаление функций

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

Для добавления новых функций к вашей теме, добавьте нужный PHP код в файл functions.php вашей дочерней темы. К примеру, данный код отключит функцию поиска WordPress:

Function disable_search($query, $error = true) { if (is_search()) { $query->is_search = false; $query->query_vars[s] = false; $query->query[s] = false; // to error if ($error == true) $query->is_404 = true; } } add_action("parse_query", "disable_search"); add_filter("get_search_form", create_function("$a", "return null;"));

Заключение

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

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

Зачем надо создавать дочернюю тему?

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

Требования

Для того, чтобы вносить какие-либо изменения в шаблон, необходимы базовые знания CSS/HTML, также неплохо было бы знать PHP. Очень понадобятся навыки копирования и вставки кусков кода с других источников.

Для начала я бы посоветовал попрактиковаться на localhost’е. Вы также можете переместить действующий сайт на локальный сервер и потренироваться на нем или использовать фиктивный контент.

Начало работы

Любая хорошая тема WordPress может стать родительской темой. Однако существует огромный выбор тем и некоторые из них достаточно сложны для первых экспериментов в создании дочерних тем, поэтому в качестве примера я решил взять стандартную тему Twenty Thirteen , которая является одной из тем по умолчанию в WordPress.

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

Для начала в папке установки откройте / wp - content / themes / и создайте новую папку для дочерней темы. Назовите ее так, как хотите. Я, например, назову ее wpbdemo.

Откройте текстовый документ наподобие Блокнота и вставьте туда вот этот код:

/* Theme Name: WPB Child Theme Theme URI: http://www.wpbeginner.com/ Author: WPBeginner Template: twentythirteen Version: 1.0.0 */ @import url("../twentythirteen/style.css");

Theme Name: WPB Child Theme

Theme URI: http://www.wpbeginner.com/

Description: A Twenty Thirteen child theme

Author URI: http://www.wpbeginner.com

Template: twentythirteen

Version: 1.0.0

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

Строки кода здесь само собой разумеющиеся. На что действительно следует обратить внимание, так это на строку Template : twentythirteen .

Она сообщает WordPress, что наша тема является дочерней темой, а папка с родительской темой названа twentythirteen. Обратите внимание, что название родительской папки чувствительно к регистру, т.е. если вы введете «Template: TwentyThirteen» — ничего работать не будет.

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

Это минимальные требования для создания дочерней темы. Теперь можно перейти в меню Внешний вид » Темы , где в качестве дочерней темы вы увидите WPB. Щелкните по кнопке Активировать для того, чтобы начать ее использовать на своем сайте.

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

Настройка дочерней темы

В директории каждой темы содержится файл со стилями – style.css. чаще всего он является главным файлом со стилями, где есть CSS. Однако у некоторых тем в этом файле содержится лишь информация о теме. В этом случае, как правило, CSS файлы находятся в отдельном каталоге.

Здесь вам потребуются кое-какие знания и навыки работы с .

Google Chrome и Firefox идут со встроенным инструментом инспектирования, который позволяет просмотреть и CSS многих элементов веб-страницы.

Если вы хотите увидеть CSS навигационного меню, то просто подведите курсор мышки к меню, щелкните ПКМ и выберите «Просмотреть код».

Как только вы это сделаете, окно браузера будет разделено на две части. В нижней части экрана вы увидите HTML и CSS для страницы.

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

Инструмент хрома также в правой части отобразит CSS правила, относящиеся к выбранному элементу.

Вы можете попробовать отредактировать CSS прямо тут, чтобы сразу увидеть, как все будет выглядеть. Давайте поменяем цвет фона . navbar на #e8e5ce .

Фоновый цвет панели навигации изменился. Если он вам нравится, то можете скопировать это CSS правило и вставить дочерний файл темы style.css.

Navbar { background-color: #e8e5ce; }

Navbar {

Сохраните изменения в файле style.css и просмотрите сайт.

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

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

/* Theme Name: WPB Child Theme Theme URI: http://www.wpbeginner.com Description: A Twenty Thirteen child theme Author: WPBeginner Author URI: http://www.wpbeginner.com Template: twentythirteen Version: 1.0.0 */ @import url("../twentythirteen/style.css"); .site-title { padding: 30px 0 30px; } .site-header .home-link { min-height: 0px; } .navbar { background-color: #e8e5ce; } .widget { background-color: #e8e5ce; } .site-footer { background-color: #d8cdc1; } .site-footer .sidebar-container { background-color:#533F2A }

Theme Name: WPB Child Theme

Theme URI: http://www.wpbeginner.com

Description: A Twenty Thirteen child theme

Author URI: http://www.wpbeginner.com

Template: twentythirteen

Version: 1.0.0

@ import url ("../twentythirteen/style.css" ) ;

Site - title {

padding : 30px 0 30px ;

Site - header . home - link {

min - height : 0px ;

Navbar {

background - color : #e8e5ce;

Widget {

background - color : #e8e5ce;

Site - footer {

background - color : #d8cdc1;

Site - footer . sidebar - container {

background - color : #533F2A

У каждой темы WordPress свой макет. Давайте взглянем на строение темы Twenty Thirteen. Здесь есть: хедер, навигационное меню, контентная часть, зона нижнего виджета, вторая (боковая) зона виджетов, футер.

Каждая из этих секций обрабатывается различными файлами в папке twentythirteen. Называются эти файлы templates.

Как правило, эти файлы имеют имя той секции, к которой относятся. Например, футер обслуживается файлом footer.php, хедер и навигационное меню – файлом header.php. Некоторые секции, как например, контентная зона обслуживается несколькими файлами – «content templates».

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

Например, вы хотите удалить с зоны футера надпись «работает на WordPress» и вставить туда информацию об авторском праве. Для этого: скопируйте в дочернюю тему файл footer.php, откройте его в простом текстовом редакторе, как например, Блокнот. Найдите строку, которую вы хотите удалить и замените ее на то, что хотите. Это может выглядеть так:

© Copyright All rights reserved.

& lt ; ? php

* The template for displaying the footer

* Contains footer content and the closing of the #main and #page div elements.

* @package WordPress

* @subpackage Twenty_Thirteen

* @since Twenty Thirteen 1.0

? & gt ;

& lt ; / div & gt ; & lt ; ! -- #main -->

& lt ; footer id = "colophon" class = "site-footer" role = "contentinfo" & gt ;

& lt ; ? php get_sidebar ("main" ) ; ? & gt ;

& lt ; div class = "site-info" & gt ;

& lt ; p & gt ; & amp ; copy ; Copyright & lt ; ? php echo date (Y ) ; ? & gt ; & lt ; ? php bloginfo ("name" ) ; ? & gt ; All rights reserved . & lt ; / p & gt ;

& lt ; / div & gt ; & lt ; ! -- . site - info -- & gt ;

& lt ; / footer & gt ; & lt ; ! -- #colophon -->

& lt ; / div & gt ; & lt ; ! -- #page -->

& lt ; ? php wp_footer () ; ? & gt ;

& lt ; / body & gt ;

& lt ; / html & gt ;

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

Добавление нового функционала в дочернюю тему

В интернете можно найти много руководств по копированию и вставке кусков кода в файл темы functions.php.

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

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

Я уже создал изображение хедера и миниатюру, редактируя стандартное изображение в хедере темы Twenty Thirteen. Следующий шаг – загрузить их в дочернюю тему по адресу inside / images / headers / folder .

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

Если вы второй раз смотрите на WordPress и третий раз наступили на грабли с обновлением темы - читайте дальше.

Итак, для чего нужны дочерние темы? Я уже частично ответил на этот вопрос. С определенной периодичностью в ядре WordPress, плагинах и темах обнаруживаются дыры (в плане безопасноти). Как правило толковые ребята, занимающиеся разработкой тем, плагинов и самой CMS, выпускают обновления. Все Ваши кастомизации пропадают в тот момент, когда вы устанавливаете эти обновления. Особенно плохо становится в ситуации с глубоко-модифицированной темой. Очень плачевно - при отсутствии резервной копии.

Для того что бы не терять все свои модификации - лучше не делать их в файлах главной темы.

Мне удалось найти в закромах WordPress со старой версией темы Twenty Twelve. Ее и буду использовать для примера.

1. Создаем папку дочерней темы:

mkdir wp-content/themes/twentytwelve-child

2. Для работы темы нужно два файла:

  • style.css
  • functions.php

Создадим их:

touch wp-content/themes/twentytwelve-child/style.css
touch wp-content/themes/twentytwelve-child/fnctions.php

3. Имя темы задается в style.css. Минимальный набор кода для style.css:

/* Theme Name: Twenty Twelve Child Template: twentytwelve Author: the WordPress team Version: 1.0 Text Domain: twentytwelve-child */ @import url("../twentytwelve/style.css")

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

В этот момент тема появляется в списке тем в админке WordPress и выглядит вот так:

Скопируйте screenshot.png из материнской темы для того что бы появилось изображение. По желанию его можно подредактировать:

cp wp-content/themes/twentytwelve/screenshot.png wp-content/themes/twentytwelve-child/

Теперь список тем выглядит вот так:

После этого тему можно активировать и она даже заработает.

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

Стандартная тема выглядит вот так:

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

Как мы видим сработал header.php из папки дочерней темы.

Засада только со стилями. Если Вы объявите новый стиль отображения, на пример, ширину зоны текста в файле style.css дочерней темы - он не сработает.

Для того, что бы он сработал нужно создать отдельный файл стилей и подключить его:

touch wp-content/themes/twentytwelve-child/custom.css

Внесите в него код из спойлера.site:

Site { margin: 0 auto; max-width: 90%; overflow: hidden; }

К сожалению директива @import url работает только один раз в файле style.css, поэтому второй файл стилей подключить не удасться.

В WordPress стили подключаются функией wp_enqueue_style() в файле functions.php.

Создаем первую кастомную функцию в functions.php дочерней темы, которая будет возвращать папку или uri дочерней темы:

Function get_child_template_directory_uri() { return dirname(get_bloginfo("stylesheet_url")); }

После этого мы можем смело использовать get_child_template_directory_uri() в других кастомных функциях.

Теперь подключаем custom.css:

Function child_styles() { wp_enqueue_style("twentytwelve-child-style", get_child_template_directory_uri() . "/custom.css"); } add_action("wp_enqueue_scripts", "child_styles",12);

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

Думаю не нужно объяснять, почему файл functions.php должен начинаться с

Кстати цыфра в add_action() определяет приоритет. 12 - самый крутой action, подразумевается, что стили, которые были подключены с помощью его, будут брать верх над стандартными из материнской темой.

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

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

(Visited 1 223 times, 1 visits today)

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


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

Определились? Отлично, теперь рассмотрим как же создать тему-дополнение .

Дочерняя тема wordpress, что нужно что бы создать

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

  1. Первым делом нам нужно создать папку для нашей будущей уникальной темы.
  2. Затем создать обычный текстовый документ и сменить его название на style.css, открыть который мы сможем при помощи специального редактора notepad++ или же другого того же типа.
  3. В созданном нами файле нужно будет написать правильное заглавие, так называемую шапку файла.

Давайте проделаем все вышеперечисленные операции вместе и по порядку. Начнем с того, что папку нашей дочерней темы WordPress темы нужно создать внутри wp-content/themes. Название можете придумать какое угодно, это никак не скажется на вашем сайте и нигде не будет видно, для наглядности давайте посмотрим на картинку как это можно сделать:

Создали? Ок, идем в нашу папку и создаем файл каскадной таблицы стилей style.css. После создания файла открываем его для редактирования.

Шапка style.css дочерней темы WordPress

Что бы правильно настроить нашу дочернею тему мы должны написать нашу шапку которая будет вмещать в себя следующие параметры:

  • Название дочерней темы , то которое мы придумали для нашей папки, параметр является обязательным для заполнения по этому придумайте адекватное название - «Name».
  • Можно указать адрес вашего сайта на котором будет использована тема - «Theme URI».
  • Описание темы, хоть и биографию свою напишите, не имеет значения - «Description».
  • Имя создателя темы, ваше, вашего соседа или же вымышленное, все зависит от вашего настроения - «Author».
  • Обязательным и точным параметром является название папки родительской темы - «Template».
  • Возможно указать версию вашей дочерней темы например 1.1.5 или что-то в этом роде - «Version».

Разобравшись с нужными нам атрибутами заголовка посмотрим какой пример нам дают на официальном сайте :

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

Разница между дочерней темой WordPress и созданной уникальной темой.

Следует понимать разницу между дочерней темой и полностью написанной с нуля темой WordPress. лишь вносит изменения и дополнения в использованную нами за основу тему для WordPress. Как же прикрутить наш стиль к стилю родителя? Для этого существует команда. которая стоит выше всех остальных, иначе подключение не получится. Выглядит она так: @import url(«www/mysite.ru/twentyten/style.css»). Выходит что мы берем исходный стиль и пишем дополнения и изменения. Дочерняя тема стоит ниже родительской, по этому сначала грузится родительская, а уж потом поверх мы проводим изменения нашей дочерней, которая и воспроизводится.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: