在插件中包含内联CSS可以吗?


21

通常在插件中,我会使用wp_enqueue_style添加样式。但是,我当前正在创建一个只需要几行CSS的插件,并且我想知道内联样式以保存请求是否更好。显然,使用wp_enqueue_style有很多优点,但是对于这样一小段CSS,是否值得额外要求?在这方面是否有公认的“最佳实践”?

Answers:


14

TL; DR; Enqueue

使用外部样式表

  • 优点:您所有的样式都集中在一处。
  • PRO:减少网页编码。
  • PRO:易于维护插件。
  • PRO:可以使用挂钩来更改文件的位置。
  • PRO:可以使用钩子使文件出队。
  • PRO:可以自动使用缩小样式。
  • 缺点:可能添加额外的HTTP请求(可以克服)。

使用内联样式

  • PRO:可以直接看到应用的样式。
  • PRO:没有额外的HTTP请求。
  • 缺点:不能使用挂钩来更改样式。
  • 缺点不能使用钩子使样式出队。
  • 缺点:根本无法缩小样式。
  • 缺点: 需要!重要的是要覆盖样式

通常,我会说:当然,如果您是唯一使用它的人,请继续进行内联。但是您正在谈论的是一个插件,这意味着该代码将是公开的,因此旨在扩展。现在,您只有几行样式:

  • 缺点:如果那几个变得更多了怎么办?
  • 缺点:如果有人扩展您的插件怎么办?
  • 缺点:如果有人想改变它怎么办?
  • 缺点:如果有人在CSS文件中搜索该怎么办?
  • 缺点:如果有人想自动缩小尺寸怎么办?

因此,入队。(最好是有条件的,仅在插件需要时才适用。) JavaScript也是如此。(但是,如果可能,应将其包括在页脚中。)


在后端使用内联样式可以吗?
2013年

@bungeshea如果有人要更改您的插件,他们可能想过正确地更改后端;)只要确保仅在后端上才使脚本入队。例如:function _your_enqueue( $hook )可以测试$ hook来查看您是否在选项页面上。或者您可以使用current_screen()简单性。事实是,您可以执行此操作,但一般使用的插件是用于服务器端代码的.php文件,并且可能包含或不包含图像,.js和.css文件。
Derk-Jan 2013年1

1
您注意到可以解决多余的http请求-您能澄清一下吗?
达斯汀

2
您不能,但是插件的用户可以。在输出页面之前,有几个要写入的插件和函数,获取所有排队的样式并将其添加到缩小的组合文件中。无论您添加多少CSS文件,查看器都只会看到一个。与javascript相同。但是,这不是您的“问题”。不需要优化,恕我直言,额外的HTTP请求还不足以支持所有PRO。
Derk-Jan 2013年1

1
关于最后一句-据我所知的风格应该是在头不页脚输出
马克·卡普伦

2

这很难回答,我真的不确定是否有正式答案。

我了解有关保存请求的观点,但是内联样式几乎总是可以胜出的。主题或最终用户很难更改CSS。

考虑到这一点,我想我会在一个公开发布的插件中执行此操作...

  1. 如果CSS 对插件的功能至关重要,例如幻灯片演示。

  2. 或者,如果我还在插件中包含一个过滤器,该过滤器允许更改或删除内联CSS。

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.