Как добавить собственный файл css в тему?
-
-
Если человек,задающий этот вопрос,немец,то почти наверняка «перезаписать» означает «переопределить».Я предполагаю,что вопрос не в том,что размещение кода в файле custom.css приведет к изменению файла style.css.Я не говорю об этом критически,я говорю,что я сбит с толку,и это мое понимание.If the person asking this question is German then nearly certainly "overwrite" means "override". I assume the question is not saying that putting code in the custom.css file will cause the style.css file to be modified. I am not saying this to be critical, I am saying that I am confused and this is my understanding.
- 0
- 2016-08-07
- user34660
-
10 ответ
- голосов
-
- 2012-07-13
Я обычно добавляю этот фрагмент кода,если хочу добавить еще один файл css
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/my_custom_css.css" type="text/css" media="screen" />
Я считаю,что создатели темы хотят максимально сохранить дизайн макета темы.Так что кастомный файл css не сильно повредит.Я думаю,это скорее вопрос поддержки.С помощью собственного файла css создатели могут упростить тем,кто использует их темы.Поскольку исходный style.css не изменен,создатель темы,вероятно,может посмотреть в пользовательском файле css.
I usually add this piece of code if I want to add another css file
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/my_custom_css.css" type="text/css" media="screen" />
I believe the theme makers want to retain as much as possible of the theme's layout design. So a custom css file doesn't hurt much. I think it's more of a support question. With custom css file, the makers can help those who use their themes more easier. Because the original style.css is unaltered, so the theme maker can probably take a look in the custom css file.
-
больше не лучшая практика - [developer.wordpress.org] (https://developer.wordpress.org/reference/functions/wp_enqueue_style/)not best practice anymore — [developer.wordpress.org](https://developer.wordpress.org/reference/functions/wp_enqueue_style/)
- 2
- 2016-03-15
- iantsch
-
@iantsch,почему бы и нет?что лучше?я не мог найти ничего лучше.@iantsch why not? whats better? i couldnt find anything better.
- 0
- 2017-07-03
- Kangarooo
-
@Kangarooo см. Ответ Фил Джозеф: поставьте в очередь скрипты/стили,которые вы хотите включить в верхний или нижний колонтитул@Kangarooo see the answer provided by Fil Joseph: Enqueue the scripts/styles you want included in the header or footer
- 2
- 2017-07-05
- iantsch
-
При использовании HTTP/1 рекомендуется упаковать все базовые стили в один свернутый файл вместо добавления другого файла CSS,который браузер должен загрузить и обработать.With HTTP/1 it's best practice to pack all basic styles into one minimized file, instead of adding another CSS file the browser needs to download and process.
- 0
- 2019-02-14
- Andy
-
в моем случае это было лучшее решение.in my case, this was the best solution.
- 0
- 2019-10-10
- Rich
-
- 2016-03-15
Использование @import в WordPress для добавления пользовательского CSS больше не является лучшей практикой,но вы можете сделать это с помощью этого метода.
Лучше всего использовать функцию
wp_enqueue_style()
вfunctions.php.Пример :
wp_enqueue_style ('theme-style', get_template_directory_uri().'/css/style.css'); wp_enqueue_style ('my-style', get_template_directory_uri().'/css/mystyle.css', array('theme-style'));
Using @import in WordPress for adding custom css is no longer the best practice, yet you can do it with that method.
the best practice is using the function
wp_enqueue_style()
in functions.php.Example:
wp_enqueue_style ('theme-style', get_template_directory_uri().'/css/style.css'); wp_enqueue_style ('my-style', get_template_directory_uri().'/css/mystyle.css', array('theme-style'));
-
Добавьте зависимость родительского `style.css`,чтобы ваш`mystyle.css` загружался после `style.css`!Add the dependency of parent `style.css` to make sure your `mystyle.css` loaded after the `style.css`!
- 1
- 2016-03-15
- Sumit
-
[ссылка на документы wordpress для `wp_enqueue_style`] (https://developer.wordpress.org/reference/functions/wp_enqueue_style/)[link to the wordpress docs for `wp_enqueue_style`](https://developer.wordpress.org/reference/functions/wp_enqueue_style/)
- 1
- 2016-10-08
- topher
-
Я понимаю часть пути,но как насчет первой части,части «стиль темы» и «мой стиль»,могу ли я добавить туда что-нибудь?А как насчетfunctions.php,каков общий код,чтобы это работало?I understand the path part, but what about the first part, the 'theme-style' and 'my-style' part, can I put anything in there? And what about in the functions.php what is the total code to get this working?
- 0
- 2017-02-05
- Bruno Vincent
-
@BrunoVincent вы можете называть `handle` как хотите,при условии,что он уникален.См. [Документ] (https://developer.wordpress.org/reference/functions/wp_enqueue_style/)@BrunoVincent you can name the `handle` whatever you want, as long as it's unique. See [doc](https://developer.wordpress.org/reference/functions/wp_enqueue_style/)
- 0
- 2018-02-07
- Fahmi
-
- 2017-11-02
Активируйте дочернюю тему и добавьте следующий пример кода в файлfunction.php
add_action( 'wp_enqueue_scripts', 'child_enqueue_styles'); function child_enqueue_styles() { wp_enqueue_style( 'reset-style', get_template_directory_uri() . '/css/reset.css', array()); }
Activate the child theme and add the following example code in the function.php
add_action( 'wp_enqueue_scripts', 'child_enqueue_styles'); function child_enqueue_styles() { wp_enqueue_style( 'reset-style', get_template_directory_uri() . '/css/reset.css', array()); }
-
- 2012-07-13
Я предлагаю использовать дочерние темы. Его очень легко реализовать,и все изменения,которые вы делаете (включая стили),полностью изолированы от исходной темы.
My proposal would be to use child themes. It is very easy to implement and all modifications you do (including styles) are completely isolated from the original theme.
-
- 2012-07-13
Если вы хотите оставить свой HTML-код. вы можете добавить это в свой файл css.Думаю,так лучше.
@import url("../mycustomstyle.css");
Также в зависимости от вашей темы он будет работать с дочерними и родительскими темами.
- имейте в виду,css работает последовательно (при использовании того же уровня идентификатора,который уже используется),поэтому то,что было последним в вашем файле,будет перезаписано. так что поместите свой импорт нестандартного стиля внизу,если вы хотите переопределить материал.
If you want to leave your html along. you can add this to your css file. I think this is better.
@import url("../mycustomstyle.css");
also depending on your theme it will work with child and parent themes.
-- keep in mind, css works sequential (when using the same level of identifier, already used ) , so what is last in your file will overwrite. so put your customstyle import at the bottom if you want to override stuff.
-
css не работает последовательно,он работает в зависимости от специфики правила;он возвращается только к последней перезаписи предыдущей,если у вас есть правила одинаковой специфичностиcss doesn't work sequentially, it works based on the specificity of the rule; it only falls back to last overwrites previous when you have rules of equal specificity
- 0
- 2013-09-04
- srcspider
-
Вы правы,и я это имею в виду.мой последовательный относится к перезаписи.не CSS в целом.you are correct, and that is what I mean. my sequential referes to the overwriting. not CSS as a whole.
- 0
- 2014-01-24
- woony
-
- 2016-03-15
Чтобы предотвратить перезапись CSS или других файлов основной темы,вы должны ВСЕГДА использовать дочернюю тему в WordPress ... невыполнение этого только вызовет у вас серьезные головные боли и проблемы в будущем.
https://codex.wordpress.org/Child_Themes
... и с учетом того,насколько легко установить дочернюю тему,нет причин,по которым вы не должны ее использовать.
Использование дочерней темы позволит вам переопределить любой из основных файлов родительской темы по вашему желанию,просто скопировав из родительской темы в свою дочернюю или создав новый файл с тем же именем.
Что касается файла
custom.css
,существует множество способов,которыми разработчики темы справляются с этим ... многие из них делают это просто,чтобы попытаться предотвратить клиентов,которые не хотят использовать дочернюю тему,от редактирования основного файлаstyle.css
....В любом случае вам не следует беспокоиться об этом,пока вы используете дочернюю тему,вам не нужно беспокоиться об обновлении темы позже и потере ваших изменений ... возьмите за привычку всегда использовать дочернюю тему темы,вы поблагодарите меня позже,обещаю.
To prevent overwritting of main theme CSS or other files, you should ALWAYS use a child theme in WordPress ... not doing so will only cause you major headaches and problems down the road.
https://codex.wordpress.org/Child_Themes
... and with how easy it is to setup a child theme, there is no reason you shouldn't be using one.
Using a child theme will then allow you to override any of the main parent theme files you want, simply by copying from parent into your child, or by creating a new file with the same name.
Regarding the
custom.css
file there's numerous ways that theme developers handle this ... a lot of them do this simply to try and prevent clients who don't want to use a child theme, from editing the mainstyle.css
file ....Either way you shouldn't be worried about that, as long as you use a child theme you shouldn't have to worry about updating your theme later on and losing your changes ... get in the habit of always using child themes, you will thank me later, i promise.
-
- 2017-06-21
Лучший способ - объединить все стили в очереди в одну функцию ,а затем вызвать их с помощью действия
wp_enqueue_scripts
. Добавьте определенную функцию в файлfunctions.php вашей темы где-нибудь под начальной настройкой.<▪ Блок кода:
function add_theme_scripts() { wp_enqueue_style( 'style', get_template_directory_uri() . '/css/style.css' ); wp_enqueue_style ( 'custom', get_template_directory_uri () . '/css/custom.css', array( 'style' ) ); } add_action ( 'wp_enqueue_scripts', 'add_theme_scripts' );
Обратите внимание:
Третий параметр - это массив зависимостей,который указывает,зависит ли эта таблица стилей от другой таблицы стилей. Итак,в приведенном выше коде custom.css зависит от style.css
|
Дополнительная базовая:
Функцияwp_enqueue_style()
может иметь 5 параметров: вот так - wp_enqueue_style ( $ handle,$ src,$ deps,$ ver,$media );
В реальном мире WP Coding обычно мы также добавляем файлыjavascript/библиотекиjQuery внутрь этой функции следующим образом:wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true);
Пятый параметрtrue/false является необязательным (2-й,3-й и 4-й параметры также опционально),но очень важен,он позволяет нам помещать наши скрипты в нижний колонтитул,когда мы используем логический параметр какtrue.
The best way is to combine all enqueued styles into a single function and then call them using
wp_enqueue_scripts
action. Add the defined function to your theme's functions.php somewhere below the initial setup.Code Block:
function add_theme_scripts() { wp_enqueue_style( 'style', get_template_directory_uri() . '/css/style.css' ); wp_enqueue_style ( 'custom', get_template_directory_uri () . '/css/custom.css', array( 'style' ) ); } add_action ( 'wp_enqueue_scripts', 'add_theme_scripts' );
Please Note :
3rd parameter is the dependency array which refers to whether or not this stylesheet is dependent on another stylesheet. So, in our above code custom.css is dependent on style.css
|
Additional Basic:
wp_enqueue_style()
function may have 5 parameters: like this way - wp_enqueue_style( $handle, $src, $deps, $ver, $media );
In real world of WP Coding, usually we also add javascript files/jQuery libraries inside that function like this way:wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array ( 'jquery' ), 1.1, true);
The 5th parameter true/false is optional (2nd, 3rd and 4th params are also opt.) but very essential, it allows us to place our scripts in footer when we use the boolean parameter as true.
-
- 2017-07-29
Перейдите в «Внешний вид»> «Редактировать CSS» на панели инструментов WordPress.
Вот экран с основным редактором CSS.
Теперь вставьте ваш CSS прямо в текст по умолчанию.Вы можете удалить текст по умолчанию,чтобы ваш CSS отображался только в редакторе.Затем сохраните таблицу стилей,и ваш CSS будет активен.
-
- 2020-04-27
Если вы хотите избежать проблем с кешем веб-браузера,вам необходимо указать версию файла,как показано в этом примере.
wp_enqueue_style ('theme-style', get_template_directory_uri().'/path/to/css/style.css?v=' . filemtime(get_template_directory() . '/path/to/css/style.css'));
В этом случае я указываю дату последней модификации во времени unix в качестве параметра запроса.
If you want to avoid web browser cache problems, you need include the file version, like in this example is shown.
wp_enqueue_style ('theme-style', get_template_directory_uri().'/path/to/css/style.css?v=' . filemtime(get_template_directory() . '/path/to/css/style.css'));
In this case, I write the last modification date in unix time as a query param.
-
- 2016-03-15
Используйте дочернюю тему.Это ваш лучший выбор.Таким образом,если тема когда-либо будет обновлена,вы не переопределите созданные вами таблицы стилей.
https://codex.wordpress.org/Child_Themes
Пройдите по этому пути,поблагодарите себя позже.
Use a child theme. It's your best bet. This way if the theme is ever updated, you won't override the stylesheets you've created.
https://codex.wordpress.org/Child_Themes
Go this route, you'll thank yourself later.
-
Это не совсем ответ на вопрос.Тогда вы можете объяснить,как добавить таблицу стилей в дочернюю тему.That does not really answer the question. You might want to explain how to add the stylesheet in the Child Theme then.
- 0
- 2016-03-15
- kaiser
Некоторые темы просят вас не редактировать файл style.css,вместо этого используйте файл custom.css.Если вы напишете код на custom.css,он перезапишет тот же стиль элемента в style.css.Думаю,это сделано для того,чтобы предотвратить потерю пользовательских стилей при обновлении темы,не так ли?
Как это работает? Они уже включают файл custom.css в свою тему?Но как этот файл включен в тему,чтобы тема сначала искала стиль в custom.css? Спасибо.