如何使用保存在主题选项中的自定义样式?

时间:2013-02-11 作者:Sisir

我正在创建一个主题,用户可以通过设置API从主题定制器保存自定义样式。这些样式信息作为序列化数据保存在选项表中。

当自定义皮肤处于活动状态时,我必须在站点中打印这些css样式。我可以走三条路。

在页眉区域打印自定义样式<style> 标记custom.css.php 打印这些样式的文件

All those have pros and cons

  1. Printing inside <head> using <style>: 该主题将被互联网营销人员使用,他们关注代码与文本的比率。添加20-30行css代码将提高代码比率
  2. Creating CSS file using PHP header(): Wordpress函数不可用。将需要加载它们,这是低效的。而且IE have some issues with this method.

  3. Writing a CSS file whenever user saves custom style: 这似乎是个好主意。但我对这种方法的优缺点知之甚少。如果用户在不同的服务器上安装主题时,可能会遇到任何权限问题<如果您能就这个话题给我一些启发,我将不胜感激。

    那么,在这种情况下,正确的做法是什么呢。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

当你的用户真的需要30行自定义CSS时,你的主题就有缺陷了。创建一组预定义的样式(深色和浅色方案、sans和serif字体等),并为这些情况准备主样式表。你可以加入body_class 然后添加获得这些样式所需的类
那么,用户的调整应该非常小。

使用endpoint for a PHP generated stylesheet 有点像你的第二个选择。这在IE中不是问题,缓存插件将有助于进一步减少处理时间。我会为端点使用上次更改的时间戳,例如:

example.com/css/012345678/
…以确保浏览器获取最新的样式表,并按需要缓存文件。

选项3表示:您必须根据Filesystem API, 您必须确保以后不会删除它(很棘手!),您应该替换旧文件,以避免大量的CSS文件。强制新文件替换缓存文件而不使用额外的GET参数也不容易。

使用端点。

结束

相关推荐

用特定页面上的其他CSS覆盖主题样式

我购买的wordpress主题的默认CSS文件中包含一些jQuery UI样式。问题是我有一个使用jQuery UI的插件,主题的默认CSS使插件损坏。我希望默认的jquery UI CSS文件覆盖包含在主题CSS文件中的UI样式我看到一些人提到使用排队在页面底部加载jQuery CSS,但我不知道如何做到这一点。谢谢