Настройка темы WordPress без ее изменения?


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

Author: MikeSchinkel, 2010-08-13

4 answers

Хотя вы не можете изменить его, не изменив, вы можете изолировать изменяемые части, создав дочернюю тему. Вкратце:

  1. Создайте каталог тем на одноранговом узле с вашей "родительской" темой,
  2. Создайте файл style.css в своем новом каталоге с объявлением Template: в комментариях, называющим вашу родительскую тему, и @import url(../%parent-theme%/style.css) для импорта CSS из родительской темы,
  3. Активируйте свою новую тему в консоли администратора WordPress,
  4. Добавление новых файлов и/или копирование файлов из родительского каталога тем в каталог дочерних тем и измените их в соответствии с вашими предпочтениями, и
  5. Вот и все!

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

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

Надеюсь, это поможет.

 20
Author: MikeSchinkel, 2010-08-13 06:50:21

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

Таблица стилей по умолчанию

body{background:white;width: 960px;margin: 25px auto;}

Пользовательская таблица стилей

body{width:800px;}

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

Если вы собираетесь в конечном итоге изменить файлы шаблонов, такие как archive.php, или page.php, Ответ Микешинкеля позволит вам обновить вашу тему, если будет выпущена новая версия, без потери ваших изменений. Но если все, что вы хотите, это изменить некоторые css, этот метод будет хорошо работать. Просто убедитесь, что что вы сохраняете свою пользовательскую таблицу стилей перед обновлением каталога тем.

 2
Author: kevtrout, 2010-08-21 10:53:52

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

Что я лично делаю, так это то, что я использую премиум-тему WordPress от MyThemeShop. В этом я сохраняю свой файл style.css и параметры темы как есть. Я просто копирую данные файла в другой файл и называю его немного по-другому. Например, если я использую тему SociallyViral, для создания ее дочерней темы я скопирую данные из ее файла style.css и сохраню их в другой файл с именем childstyle.css.

После этого я теперь разработаю конкретные функции и смогу изменить дизайн своей темы, добавив больше функций в файл childstyle.css.

Это сохраняет мой оригинальный файл style.css таким, какой он есть, и позволяет мне обновить его в исходном формате.

 1
Author: Sumit Kumar, 2017-02-17 10:43:44

Если вас интересует хорошее "Лабораторное упражнение" для опробования описанных выше шагов. Существует хорошее пошаговое руководство по созданию дочерней темы из темы WordPress 3.x, поставляемой по умолчанию двадцать лет назад. Это простая, но полезная дочерняя тема (названная thirtyten). В результате тема twentyten расширяется с темы с двумя столбцами до темы с тремя столбцами. В нем также есть несколько новых изображений заголовка.

 0
Author: , 2010-09-01 14:23:47