Обратная сторона наследования стилей в дочерних темах WordPress

Дата публикации:Август 25, 2010

Мы уже говорили о том, что каждый файл дочерней темы обладает большим приоритетом по сравнению с аналогичным файлом родительской темы. Style.css дочерней темы будет загружен первее, нежели style.css родительской темы; то же самое относится и к файлу index.php, и ко всем остальным файлам.

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

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

При использовании дочерних тем можно столкнуться с двумя важными проблемами. Первая из них вызвана неправильным расположением дочерней темы — она обязательно должна находиться в том же самом каталоге, что и родительская тема (wp-content/themes/). Пользователи редко разбираются с устройством тем — они привыкли просто загружать их и активировать. Концепция дочерних тем требует кропотливого, тщательного исследования. Только в таком случае можно добиться увеличения функциональности сайта и расширить возможности его оформления.

Вторая проблема заключается в чисто техническом уровне реализации. Насколько вы помните, bloginfo() с параметром ‘template_directory’ определяет путь к папке с темой. Это требуется, к примеру, для загрузки изображений, хранящихся в указанной папке. В дочерней теме данная конструкция работать не будет, поскольку template_directory будет хранить путь к папке с родительской темой.

Данная проблема имеет свое решение. Достаточно передавать в bloginfo() параметр «stylesheet_directory». Тем самым требуемое изображение будет разыскиваться в папке, содержащей файл стилей, т.е. в папке с дочерней темой, что нам и требовалось.

Поделиться

2 комментария

  1. Правильно ли я понимаю, что решение второй проблемы нужно исправлять в файле funсtion.php? Причем этот файл должен быть в дочерней теме?
    Или, как вариант без нового funсtion.php, открывать сначала родительскую, устанавливать в ней, например, фон, картинку в шапке, а потом активировать дочернюю тему?
    После долгой возни с дочерней темой подумалось, что проще в саму тему изменения вводить)))

    • Architect Of Ruin says:

      Да, все правильно! Проще действительно сначала активировать ее, установить все изображения, а потом превратить легким движением руки в дочернюю. Файл functions.php надо использовать от дочерней темы.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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