将多个CSS文件合并为一个以进行优化

时间:2017-05-18 作者:CROSP

我有个主意。我希望它已经以某种方式得到实施。

下面是一个CSS文件在页面头部的示例

<link rel=\'stylesheet\' id=\'validate-engine-css-css\' href=\'https://example.net/wp-content/plugins/wysija-newsletters/css/A.validationEngine.jquery.css,qver=2.7.10.pagespeed.cf.jcn-RfgU3K.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'cresta-social-crestafont-css\' href=\'https://example.net/wp-content/plugins/cresta-social-share-counter/css/A.csscfont.css,qver=2.6.8.pagespeed.cf.g-Qv5WAJKD.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'cresta-social-wp-style-css\' href=\'https://example.net/wp-content/plugins/cresta-social-share-counter/css/A.cresta-wp-css.css,qver=2.6.8.pagespeed.cf.cfwDMPSSsV.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'cresta-social-googlefonts-css\' href=\'//fonts.googleapis.com/css?family=Noto+Sans:400,700\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'dashicons-css\' href=\'https://example.net/wp-includes/css/dashicons.min.css,qver=4.7.5.pagespeed.ce.zzwOjyb-IC.css\' type=\'text/css\' media=\'all\'/>
<style id=\'post-views-counter-frontend-css\' media=\'all\'>.post-views.entry-meta>span{margin-right:0!important;font: 16px/1}.post-views.entry-meta>span.post-views-icon.dashicons{display:inline-block;font-size:16px;line-height:1;text-decoration:inherit;vertical-align:middle}</style>
<link rel=\'stylesheet\' id=\'sop-style-css\' href=\'https://example.net/wp-content/plugins/series-of-posts//frontend/css/sop.css?ver=4.7.5\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'sab-plugin-css\' href=\'https://example.net/wp-content/plugins/simple-author-box/css/simple-author-box.min.css,qver=v1.5.pagespeed.ce.2xFwzLgGe9.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'bootstrap-css-css\' href=\'https://example.net/wp-content/themes/crosp-blog/css/blog/dependencies/A.bootstrap.min.css,qver=4.7.5.pagespeed.cf.sVmeEoDrxv.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'body-fonts-css\' href=\'https://fonts.googleapis.com/css?family=Roboto%3A100%2C300%2C400%2C500%2C700&#038;ver=4.7.5\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'common-style-css\' href=\'https://example.net/wp-content/themes/crosp-blog/A.style.css,qver=4.7.5.pagespeed.cf.B1xVDnwTuf.css\' type=\'text/css\' media=\'all\'/>
<link rel=\'stylesheet\' id=\'wpygments-style-native-css\' href=\'https://example.net/wp-content/plugins/wp-pygments-highlighter/css/generated/A.native.css,qver=4.7.5.pagespeed.cf.l8mnePj7pl.css\' type=\'text/css\' media=\'all\'/>
正如你所看到的,我使用了很多插件。

并且已经使用Google Page Speed 单元

所以想法很简单,注册挂钩wp_enqueue_stylewp_head, 当发出第一个请求时,或者例如,使用cronjob。有些函数将获取所有注册的样式,并将它们合并到一个CSS文件中。当然,应该尊重秩序。

因此,它将缓存一个CSS文件,该文件将包含来自不同插件的所有样式,每当我想更新缓存的CSS文件时,我可以将其删除。

这将使页面加载速度更快。

我可以自己实现这一点,但我想知道是否有任何现有的解决方案实现了这样的想法。

如果您有任何建议,我将不胜感激。

2 个回复
SO网友:xvilo

有多个插件可以为您做到这一点!例如签出JS & CSS Script Optimizer.

SO网友:infrcl

此外,您还可以继续使用http2而忘记组合文件:

WordPress and HTTP2

查看“不允许的优化:任何减少请求数量的操作”一节

干杯

结束

相关推荐

定制器:css更改不是持久的

Customizer API正在正确保存HTML/数据更改,但任何CSS更改仅在Customizer中可见。点击“保存和发布”后,页面与以前完全一样,没有新内容<style> 中的标记<head>. 这是我在函数中声明自定义程序控件和设置的方式。php(请注意,这不是完整的代码)。$wp_customize->add_setting(\'design-header-background-color\', array( \'default\' => \'#