我是否真的需要在主题文件中链接主题的style.css


10

因此,我正在使用一系列用于CSS的LESS文件来开发wordpress主题。它们使用codekit编译为组合的最小样式表,用于主题样式。

我了解wordpress主题必须具有style.css,其注释中包括有关该主题的信息,但是是否需要在header.php中链接此style.css?当然,我可以只包含主题信息,而没有其他内容,可以在主题文件夹中保持不变。我实际使用的样式表可以称为styles.css或main.css之类的东西。

谁能证实这一点或给出为什么这可能不是一个好主意的理由?


1
您应该style.css在主题文件夹的根目录保留with主题信息。而已。
JMau 2013年

Answers:


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读取配置?
henrywright

3
@henrywright不,那从来没有必要。
fuxia

2

没错,哈里,您不需要实际调用默认style.css文件或将默认文件加载到头文件中。由于我一直在主题中使用SCSS,因此也遇到了相同的问题,但是style.css由于以下原因,我们决定维护指向的链接,该原因可能不适用于您的情况:

  • 默认的WP假设已经style.css存在并且正在使用,我不想在插件方面阻止该假设。我不知道这是否/何时会成为问题,是否有兴趣听取其他人在这一点上的经验和建议。
  • 如果我的实际使用中的样式表位于文件夹中,则它会阻止用户编辑网站的CSS。保持style.css活动状态和可用状态为我的用户提供了仍然可以从WP管理员进行CSS更改的方法。
  • 相关的,在与其他合作伙伴一起在暂存站点上工作时,如果他们也不使用SCSS,他们可以进行更改而style.css不会影响我继续使用我的SCSS文件的能力。

同样,这些要点可能不适用于您的情况,但已通知我我决定保留默认style.css链接,即使默认主题为空,除了必需的主题信息之外。


1

是的,WordPress使用主题的style.css作为“配置”文档。

据我所知,您也是正确的,您不必实际加载style.css前端即可使其达到其“配置”目的。

你在做什么应该很好。我敢肯定,我看到过其他主题也做过类似的事情,但是我不能发誓。我能看到的唯一问题是某些插件是否错误地认为这style.css是主题中的(唯一)样式表。


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-Tricks


1
在开始/ *之后添加感叹号的技巧对我有用。意味着我可以继续处理较少的文件-> css,并且仍然保持WordPress希望读取主题详细信息的格式。我很长时间以来见过的最简单的把戏(一个字符正确的地方!):-)
Lars Koudal '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.