Нужно ли мне на самом деле связывать style.css моей темы в файлах темы

10

Поэтому я разрабатываю тему WordPress, используя серию файлов LESS для CSS. Они компилируются с использованием codekit в комбинированную и минимизированную таблицу стилей, которую я использую для оформления темы.

Я понимаю, что тема WordPress должна иметь style.css, который включает в себя информацию о теме в своих комментариях, но нужно ли связывать этот style.css в header.php? Конечно, я могу просто иметь информацию о теме и ничего больше и оставить ее нетронутой в папке темы. Таблицу стилей, которую я на самом деле использую, можно просто назвать styles.css или main.css или как-то так.

Кто-нибудь может подтвердить это или объяснить, почему это может быть плохой идеей?

harryg
источник
1
Вы должны оставить информацию style.cssс темой в корне папки вашей темы. Вот и все.
JMau

Ответы:

14

Я бы сказал: вы не должны использовать style.cssдля фактического производства CSS.

Причина проста: минификация. Вы не можете полностью минимизировать содержимое файла, потому что WordPress должен его прочитать. В своих темах я использую style.cssтолько заголовки и добавляю комментарий, объясняющий, где найти настоящий CSS, чтобы другим разработчикам не пришлось искать слишком долго.

Пример:

/*
Theme Name:    My theme name
Version:       2013.08.24
License:       MIT
Text Domain:   t5_theme
Domain Path:  /lang

You will find the real stylesheet in css/default.css.
*/
Фуксия
источник
2
Это хорошая идея.
Равиндер Кумар
Это то, что я делаю, работает как шарм.
Далтон
Вам все еще нужно поставить в очередь style.css во внешнем интерфейсе, чтобы WP мог прочитать конфигурацию?
Генрирайт
3
@henrywright Нет, в этом никогда не было необходимости.
fuxia
2

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

  • Предположения WP по умолчанию style.cssсуществуют и используются, и я не хочу нарушать это предположение в отношении плагинов. Я не знаю, если / когда это будет проблемой, и было бы интересно услышать опыт других и совет по этому вопросу.
  • Если моя фактическая таблица стилей используется в папке, она не дает пользователям возможности редактировать CSS сайта. Сохранение style.cssактивности и доступности дает моим пользователям возможность вносить изменения в CSS от администратора WP.
  • Связанные, при работе на промежуточном сайте с другими партнерами, если они также не используют SCSS, они могут вносить изменения, style.cssне влияя на мою способность продолжать использовать мои файлы SCSS.

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

Angelique
источник
1

Да, WordPress использует тему style.cssв качестве «конфигурационного» документа.

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

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

s_ha_dum
источник
1

Вы также можете добавить это в свой config.rb(если вы используете Compass), и CodeKit автоматически скопирует вашу уменьшенную таблицу стилей style.cssв корень темы.

require 'fileutils'
on_stylesheet_saved do |file|
  if File.exists?(file) && File.basename(file) == "style.css"
    puts "Moving: #{file}"
    FileUtils.mv(file, File.dirname(file) + "/../" + File.basename(file))
  end
end

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

Убедитесь, что комментарий в вашем style.scssфайле начинается с !первого после комментария, иначе он будет удален в минификации:

/*!
  Theme Name: Your Theme

Источник: CSS-хитрости

jjeaton
источник
1
Этот трюк с добавлением восклицательного знака после начала / * помог мне. Означает, что я могу продолжать обрабатывать файл less -> css и сохранять формат, который WordPress ожидает прочитать в деталях темы. Самый простой трюк, который я видел за долгое время (один персонаж в нужном месте!) :-)
Lars Koudal