Создание и настройка дочерней темы в 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»). Выходит что мы берем исходный стиль и пишем дополнения и изменения. Дочерняя тема стоит ниже родительской, по этому сначала грузится родительская, а уж потом поверх мы проводим изменения нашей дочерней, которая и воспроизводится.

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

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

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

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

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

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

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

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

Шаг 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 child theme.

Навигация по странице:

Что такое дочерняя тема wordpress и зачем она нужна

Дочерняя тема wordpress – это тема, которая используется в wordpress для изменения или расширения функций родительской (основной) темы.

Использование wordpress child theme позволяет полностью изменить CSS стили, Html и javascript код, а также PHP код или отдельные его функции без вмешательства в авторскую тему. Проще говоря, после наших правок мы сможем обновлять скачанную или приобретенную тему не теряя своих правок и функционала.

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

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

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

Замкнутый круг? – не совсем, можно не обновлять тему и не обращаться в поддержку 🙂

Хорошенький совет, не правда ли??

В этой ситуации нам может помочь wordpress child theme. Мы просто забрасываем в wp-content/themes чистую (без правок) приобретенную тему, а также создаем дочернею и забрасываем единственный файл: style.css (он обязательный).

Преимущества использования wordpress child theme

(нажимайте на цифры, чтобы посмотреть все преимущества)

  • Wordpress child theme наследует все функции и возможности родительской темы + позволяет дописать свои или заменить существующие.

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

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

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

Как создать дочернюю тему wordpress

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

  1. Создать директорию с произвольным названием.
  2. В этой папке создать файл style.css со специальным текстом. (покажу ниже)

Предлагаю вашему вниманию краткую инструкцию по созданию wordpress child theme для темы Twenty Sixteen, которая идет в базе нового WP.

Краткая инструкция как сделать дочернюю тему wordpress

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

Создание дочерней темы для wordpress

Вот так сейчас выглядит наш сайт:

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

Widget h2.widget-title{color:#228E4F;}

Вот так выглядят правки в стилях:

А так результат наших правок:

Предлагаю также создать другие правки. Например, всем СЕО разработчикам надоедает то, что у виджетах заголовки выводятся в h2. Лечить эту проблему довольно просто через wordpress child theme. Для этого мы должны:

1) Создать файл functions.php.

2) Записать в него вот такой код:

__("Sidebar", "twentysixteen"), "id" => "sidebar-1", "description" => __("Add widgets here to appear in your sidebar.", "twentysixteen"), "before_widget" => "", "after_widget" => "", "before_title" => "

", "after_title" => "
",)); unregister_sidebar("sidebar-2"); register_sidebar(array("name" => __("Content Bottom 1", "twentysixteen"), "id" => "sidebar-2", "description" => __("Appears at the bottom of the content on posts and pages.", "twentysixteen"), "before_widget" => "", "after_widget" => "", "before_title" => "
", "after_title" => "
",)); unregister_sidebar("sidebar-3"); register_sidebar(array("name" => __("Content Bottom 2", "twentysixteen"), "id" => "sidebar-3", "description" => __("Appears at the bottom of the content on posts and pages.", "twentysixteen"), "before_widget" => "", "after_widget" => "", "before_title" => "
", "after_title" => "
",)); } ?>

Здесь мы делаем очень простую вещ, удаляем все сайдбары зарегистрированные родительской темой unregister_sidebar("sidebar-3"); и закидываем новый код создания сайдбаров, который мы взяли с родительской темы. Вот и все. Смотрим результат:

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

Отличия родительской от дочерней темы wordpress

Отличие этих тем в логике работы:

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

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

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

, пишем комментарии 🙂

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

Что представляет из себя дочерняя тема WordPress?

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

Значение: дочерняя тема (ДТ), главным образом, предназначена для правильного редактирования родительской темы (та, которая активированная в данный момент). Использование такого способа позволит сохранить все внесенные изменения родительской темы (РТ) при ее следующем обновлении.

Польза: Колоссальная. Поскольку это правильное решение в любых изменениях РТ.

Как создать дочернюю тему в WordPress

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

Об этом варианте мы вкратце и поговорим. В репозитории, как всегда, большой выбор плагинов в реализации решений каких-либо задач. Мой выбор пал на плагин «One-Click Child Theme », который создаст дочернюю тему в один клик.

После активации модуля «One-Click Child Theme» перейдите во вкладку «Внешний вид – Child Theme». На этой странице находится три поля для заполнения:

Как работать с дочерней темой

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

Файлы темы. Копируется из РТ файл, в котором требуется что-то сделать свое, и переносится в ДТ (учитывайте, если файл находится в подпапке темы, то в ДТ также создаете такую же папку). Затем уже начинайте с ним работать, меняете, добавляете то, что нужно и проверяете результат.

Стили оформления (style.css). Для того, чтобы иметь возможность редактировать стили родительской темы непосредственно в дочерней теме, нужно их вначале импортировать через файл style.css или файл functions.php . Иначе изменения не будут происходить. А делается это так:

CSS @import

/* Theme Name: child-my-theme Description: Дочерняя тема

Функция

Add_action("wp_enqueue_scripts", "my_theme_enqueue_styles"); function my_theme_enqueue_styles() { wp_enqueue_style("parent-style", get_template_directory_uri() . "/style.css"); }

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

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

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

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

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

Сегодня в статье я объясню для чего вам нужны дочерние темы и как работать с ними.

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

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

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

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

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

Обновления

Если вы видоизменяете тему без использования дочерней темы, у вас есть два варианта: либо вы решаете не обновлять ее в будущем, либо вы это делаете и теряете все изменения.

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

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

Структура

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

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

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

Это очень просто — создать дочернюю тему. Так просто, что вы можете взять и скопировать мой пример внизу.

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

  • Создать директорию для темы
  • Создать таблицу стилей с информацией о вашей дочерней теме
  • Подключить стили родительской темы

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

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

1. Для начала создайте папку для вашей новой темы в директории тем. Вы можете выбрать для нее имя. Ради ясности я назову ее twentyfourteen-child

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

/* Theme Name: Twenty Fourteen Child Theme URI: http://yourwebsite..0.0 Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready, responsive-layout, infinite-scroll, post-slider, design, food, journal, magazine, news, photography, portfolio, clean, contemporary, dark, elegant, modern, professional, sophisticated Text Domain: twenty-fourteen-child */

Theme Name: Twenty Fourteen Child

Theme URI: http://yourwebsite.com/twentyfourteen-child/

Description: My first child theme, based on Twenty Fourteen

Author URI: http://сайт

Template: twentyfourteen

Version: 1.0.0

Tags: black, green, white, light, dark, two-columns, three-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-background, custom-header, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready, responsive-layout, infinite-scroll, post-slider, design, food, journal, magazine, news, photography, portfolio, clean, contemporary, dark, elegant, modern, professional, sophisticated

Text Domain: twenty-fourteen-child

В приведенном выше коде есть две важных строки, которые начинаются с “Theme Name” и “Template”. “Theme name” сообщает WordPress как ваша тема называется и это название отображается в селекторе тем. “Template” сообщает WordPress какую тему необходимо считать исходной темой.

Большинство остальных моментов интуитивно понятные за исключением text domain и tags. The text domain используется для перевода строк. Он должен быть уникальным для вашей темы и использоваться каждый раз, когда вы используете функции перевода. Для большей информации ознакомьтесь с I18n for WordPress Developers . Секция с тегами представляет собой список тегов, которые используются для Репозитория Тем WordPress. Для примера я скопировал теги из style.css файла исходной темы.

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

У нас есть файл с таблицами стилей, поэтому WordPress не подгружает файлы исходной темы. Чтобы убедится, что мы загружаем таблицы стилей исходной темы давайте их подключим с помощью системы enqueueing. Это можно сделать в файле темы functions.php, поэтому давайте его создадим сейчас, просто копируя код внизу:

add_action("wp_enqueue_scripts", "enqueue_parent_styles"); function enqueue_parent_styles() { wp_enqueue_style("parent-style", get_template_directory_uri()."/style.css"); }

add_action ("wp_enqueue_scripts" , "enqueue_parent_styles" ) ;

function enqueue_parent_styles () {

wp_enqueue_style ("parent-style" , get_template_directory_uri () . "/style.css" ) ;

Как работают дочерние темы?

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

Однако в этом правиле есть одно исключение — файл с функциями для темы. Файл functions.php из обоих родительской и дочерней тем будет подружаться. Если функции в дочерней теме заменяют родительские, то вы получите либо мультифункциональный сайт, либо вам придется копировать все содержимое файла с функциями родительской темы в дочернюю тему — ведь что не сделаешь для расширения темы.

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

Небольшие заметки для разработчиков тем

Если вы создаете темы, то есть парочка руководств, которыми вы можете воспользоваться, чтобы упростить этот процесс. В двух самых важных описывается разница между get_stylesheet_directory() и get_template_directory() и процесс создания pluggable functions .

Правильна директория

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

/images/twitter.png" alt="Twitter Logo">Follow Me /images/github.png" alt="Github Logo">On Github

< a href = "http://twitter.com/danielpataki" > < img src = " /images/twitter.png" alt = "Twitter Logo" > Follow Me < / a >

< a href = "http://github.com/danielpataki" > < img src = " /images/github.png" alt = "Github Logo" > On Github < / a >

Одним из преимуществ использования get_stylesheet_directory_uri() является то, что разработчики дочерних тем могут использовать свою собственную картинку, просто размещая ее в правильном месте. С другой стороны, если картинка не существует в дочерней теме, то она не будет отображаться совсем.

Это объясняется тем, что, если дочерняя тема активна, то функция get_stylesheet_directory_uri() не проверяет (не знает) какой файл вы загружаете, соответственно она не будет проверять его существование и всегда будет возвращать URI для дочерней темы.

Изменяемые функции

Есть еще один метод, который следует использовать — pluggable функции WordPress. Он позволяет авторам дочерних тем переписывать функции, определенные в родительской теме. Под этим подразумевается оборачивание функций в функцию function_exists() .

Предположим, что вы создаете функцию для отображения custom post meta с именем my_meta() . Дочерняя тема никак не может изменить эту функцию, т.к. она не может быть определена дважды. Решением этой проблемы может быть только создание функции, которая не определена (помните, что файл с функциями дочерней темы загружается первым).



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png