Настроить тему WordPress, не меняя ее?
4 ответ
- голосов
-
- 2010-08-13
Хотя вы не можете изменить его,не изменяя его,вы можете изолировать изменяемые части,создав дочернюю тему. В итоге:
- Создайте каталог тем на узле с вашей "родительской" темой,
- Создайте файл
style.css
в новом каталоге с объявлениемTemplate:
в комментариях с указанием имени вашей родительской темы и URL-адреса@import url(../%parent-theme%/style.css)
,чтобы импортировать CSS из родительской темы, - Активируйте новую тему в консоли администратора WordPress,
- Добавьте новые файлы и/или скопируйте файлы из каталога родительской темы в каталог дочерней темы и измените их по своему усмотрению,и
- Вот и все!
Я мог бы дать вам гораздо больше подробностей,но в основном этот парень действительно хорошо объясняет Как создать дочернюю тему так что мне лучше просто указать вам на это.
Если вы хотите обновить родительскую тему,просто обновите; это оставит вашу дочернюю тему нетронутой. Конечно,ваша дочерняя тема может работать некорректно,если они слишком сильно изменили родительскую и/или если вы скопировали и изменили файлы темы,которые они обновили в новой версии,вы не получите новые функции,не изменив их тоже,но это Намного лучше начинать каждый раз заново!
Надеюсь,это поможет.
While you can't modify it without changing it, you can isolate the parts you change by creating a Child Theme. In summary:
- Create a theme directory on peer with your "parent" theme,
- Create a
style.css
file in your new directory that has aTemplate:
declaration in the comments naming your parent theme and an@import url(../%parent-theme%/style.css)
to import the CSS from the parent theme, - Activate your new theme in the WordPress admin console,
- Add new files and/or copy files from your parent theme directory to your child theme directory and modify them to your preference, and
- That's it!
I could give you lots more details but basically this guy does a really good job of explaining How to Create a Child Theme so better for me just to point you to it.
When you want to upgrade the parent theme just upgrade; it will leave your child theme in-tact. Of course your child theme may not work perfectly if they've changed the parent too much and/or if you copied and modified theme files they updated in the new version you won't get the new functionality without modifying them too, but it's a lot better from starting over each time!
Hope that helps.
-
Дочерние темы - это путь ИМХОChild themes are the way to go IMHO
- 2
- 2010-09-01
- Ryan Gibbons
-
- 2010-08-21
Если все,что вы хотите изменить,- это немного CSS,вы можете создать собственный файл CSS внутри каталога темы. Включите свой собственный файл css в заголовок темы и напишите новые объявления только в настраиваемом файле css,тем самым перезаписав объявления css по умолчанию для темы.
Таблица стилей по умолчанию
body{background:white;width: 960px;margin: 25px auto;}
Пользовательская таблица стилей
body{width:800px;}
Ваш браузер будет выполнять отдельные HTTP-вызовы для двух таблиц стилей и применять стили в том порядке,в котором они перечислены. Какие бы объявления ни были сделаны последними,они перезапишут объявления,сделанные до них. Поэтому обязательно включайте свою собственную таблицу стилей после того,как все остальные таблицы стилей включены в header.php.
Если вы собираетесь в конечном итоге изменить файлы шаблонов,такие как archive.php илиpage.php,ответ MikeSchinkel позволит вам обновить вашу тему,если будет выпущена новая версия,без потери ваших изменений. Но если все,что вам нужно,это изменить какой-нибудь css,этот метод подойдет. Просто убедитесь,что вы сохранили свою собственную таблицу стилей перед обновлением каталога темы.
If all you want to change is a little css, you can create a custom css file inside the theme directory. Include your custom css file in the theme's header, and write new declarations in the custom css file only, thereby overwriting the theme's default css declarations.
Default stylesheet
body{background:white;width: 960px;margin: 25px auto;}
Custom stylesheet
body{width:800px;}
Your browser will make separate http calls for the two stylesheets and apply styles in the order they are listed. Whatever declarations are made last will overwrite declarations made before them. So make sure to include your custom stylesheet after any other stylesheets are included in header.php.
If you are going to end up changing template files like archive.php, or page.php, MikeSchinkel's answer will let you update your theme if a new version is released, without loosing your modifications. But if all you want is to change some css, This method will work well. Just make sure that you save your custom stylesheet before updating the theme directory.
-
Это может быть проблематично,если тема,которую вы изменяете,не является вашей темой,поэтому ваши изменения могут быть перезаписаны при обновлениях темы.This might be problematic if the theme you modify is not your theme, so your changes might get overwritten on theme updates.
- 1
- 2010-09-06
- hakre
-
- 2017-02-17
Вы можете создать дочернюю тему.Дочерняя тема сохраняет вашу основную тему в исходном формате.
Лично я использую премиальную тему WordPress от MyThemeShop .При этом я сохраняю свой файл style.css и параметры темы как есть.Я просто копирую данные файла в другой файл и называю его немного другим.Например,если я использую SociallyViral Theme для создания дочерней темы,я скопирую данные из ее файла style.css и сохраню их в другом файле,назвав его childstyle.css.
После этого я займусь разработкой конкретных функций и смогу изменить дизайн своей темы,добавив дополнительные функции в файл childstyle.css.
Это сохраняет мой исходный файл style.css как есть и позволяет мне обновить его в исходном формате.
You can definitely create a child theme. A child theme keeps your main theme in its original format.
What I personally do is, I am using a premium WordPress theme from MyThemeShop. In that, I keep my style.css and theme options file as it is. I just copy the file's data to another file and name it a little different. For example, if I am using SociallyViral Theme, for creating its child theme, I will copy the data from its style.css file and save it to another file naming it childstyle.css.
After this, I will now design specific functions and can redesign my theme by adding more functionalities in the childstyle.css file.
This keeps my original style.css file as it is and enables me to update it in the original format.
-
Я не уверен,что вы имеете в виду,говоря «Я скопирую данные из его файла style.css»,но обычно достаточно добавить в дочернюю тему только те стили,которые * отличаются * от родительской - стили дочерней темы добавляютдля и/или переопределения родительских стилей.Между прочим: как ваш ответ добавляет что-нибудь к ответу,который уже ** принят более 6 лет назад **?!I'm not sure what you mean with "I will copy the data from its style.css file" but usually it is enough to only add those styles to the child theme that are *different* from the parent – the child theme's styles add to and/or override the parent's styles. By the way: how does your answer add anything to the answer that was already **accepted 6+years ago**?!
- 0
- 2017-02-17
- tillinberlin
-
- 2010-09-01
Если вас интересует хорошее "лабораторное упражнение" для выполнения описанных выше шагов.Существует хорошее пошаговое руководство по созданию дочерней темы из стандартного WordPress.3.x поставил тему двадцать десять .Это простая,но полезная дочерняя тема (под названием тридцать десять).В результате тема двадцать десять расширяется от темы с двумя столбцами до темы с тремя столбцами.Также есть несколько новых изображений заголовков.
If your interested in a good 'Lab Exercise' for trying out the steps described above. There is nice step by step guide for creating a child theme off the default WordPress 3.x delivered theme twentyten. It is a simple but useful child theme (named thirtyten). The result extends twentyten theme from a two column theme to a three column theme. It also has some new header pictures.
Я нашел и загрузил тему.Однако я хочу немного подправить CSS,чтобы немного изменить дизайн,цвета и т. Д.Как мне это сделать,сохранив при этом возможность обновлять тему без потери изменений.