wp-minify: 合并多个css和js文件

广告位招租
扫码页面底部二维码联系

今天写了一个插件,用来专门处理wordp本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。ress的css和js文件合并问题。在我【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】们的开发中,我们常常会考虑把多个文件合并本文作者:唐霜,转载请注明出处。【本文受版权保护】为一个,用一个URL就可以解决原来需要多【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】个URL才能解决的链入问题。当然,如果了【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。解过类似淘宝css输出的服务端技术,那么【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。无需再为此烦恼。为了和WordPress【本文首发于唐霜的博客】【转载请注明来源】结合,我专门写了这个插件,虽然在Word【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。Press官方目录中我已经发现有这个插件【本文受版权保护】【本文受版权保护】存在了,但是我仍然把这个插件的名称定为w【原创不易,请尊重版权】【本文首发于唐霜的博客】p-minify。

【本文受版权保护】【本文受版权保护】

实现原理

本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】

如果你读过我之前的《PHP合并压缩css输出 模块化css撰【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。》可以先了解我对缓存文件的一些处理方式,【转载请注明来源】转载请注明出处:www.tangshuang.net以及合并文件、压缩代码的一些想法。而本插原创内容,盗版必究。【未经授权禁止转载】件的实现原理则基本上和上面的这篇文章里介【访问 www.tangshuang.net 获取更多精彩内容】未经授权,禁止复制转载。绍的差不多。

【关注微信公众号:wwwtangshua著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】ngnet】转载请注明出处:www.tangshua原创内容,盗版必究。【本文首发于唐霜的博客】ng.net【版权所有】唐霜 www.tangshu【作者:唐霜】【原创不易,请尊重版权】ang.net

安装

原创内容,盗版必究。【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshu【转载请注明来源】【未经授权禁止转载】ang.net本文版权归作者所有,未经授权不得转载。

首先,下载这个插件,我把它托管在我的Gi【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】tHub上,你可以在这个页面下载。下载好之后,进行解压,解压完直接把【原创不易,请尊重版权】【本文首发于唐霜的博客】解压出来的整个文件夹上传到你的WordP【本文受版权保护】原创内容,盗版必究。ress网站插件目录下。然后去后台启用它未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net

本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshua本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。ngnet】【版权所有,侵权必究】

使用

【关注微信公众号:wwwtangshua【转载请注明来源】原创内容,盗版必究。ngnet】【版权所有】唐霜 www.tangshu【访问 www.tangshuang.net 获取更多精彩内容】【作者:唐霜】ang.net本文版权归作者所有,未经授权不得转载。

进入后台,在“设置”菜单下有一个子菜单“本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.netMinify”,进入后可以对它的各个选项【关注微信公众号:wwwtangshuangnet】【未经授权禁止转载】进行设置,而且都有注释,可以了解功能。

【转载请注明来源】【访问 www.tangshuang.n【转载请注明来源】本文作者:唐霜,转载请注明出处。et 获取更多精彩内容】本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshua【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。ngnet】

使用wp-minify必须修改主题,因为【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。你输出css和js的方式不一样了。 在你转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。的主题中,删除原来的CSS和JS输出,使著作权归作者所有,禁止商业用途转载。【访问 www.tangshuang.net 获取更多精彩内容】用如下的方法输出JS:

著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。未经授权,禁止复制转载。
<?php 
wp_minfiy_js(array('/wp-content/themes/yourtheme/js/base.js','/wp-content/themes/yourtheme/js/module.js','/wp-content/themes/yourtheme/js/others.js'));

输出css的方法是一样的,只不过要使用另本文版权归作者所有,未经授权不得转载。原创内容,盗版必究。外一个函数wp_minify_css()。函数的参数是一个数组,数组内部的元素是本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net脚本文件的路径,以WordPress安装【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。目录为根目录,写入完整的相对路径。

【作者:唐霜】【未经授权禁止转载】

为什么要相对于WordPress的根目录著作权归作者所有,禁止商业用途转载。【本文受版权保护】写脚本呢?而不是相对你当前的主题目录呢?【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】其实道理很简单,因为你所引用的css或者【版权所有,侵权必究】【关注微信公众号:wwwtangshuangnet】js不一定是主题目录下的,有的时候你会引本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net用其他目录下面的样式或者脚本。当然,这是【版权所有】唐霜 www.tangshuang.net【作者:唐霜】相对路径,你甚至可以引用WordPres【未经授权禁止转载】【原创内容,转载请注明出处】s上一级目录的脚本,例如 “未经授权,禁止复制转载。【本文首发于唐霜的博客】/../test.js”,但本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net是注意,脚本的开头一定要用/开头,否则可【原创不易,请尊重版权】【本文受版权保护】能引起相对路径错误。

【版权所有】唐霜 www.tangshu【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】ang.net【未经授权禁止转载】

另外,我还提供了另外一个类用于通过act未经授权,禁止复制转载。未经授权,禁止复制转载。ion挂载到wp_head或wp_foo本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】ter中。具体用法如下:

【原创内容,转载请注明出处】【原创内容,转载请注明出处】未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。
<?php
new wp_minify_css_action(array('/wp-content/themes/yourtheme/css/test.css'));
wp_head();

wp_minify_css_action未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。这个类可以直接实现把输出的内容挂载到wp【作者:唐霜】【本文受版权保护】_head处。利用这个特性,你可以使用这【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net个类,做一些其他的深度开发,比如你想在所本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。有的路径中增加base.css这个文件,未经授权,禁止复制转载。【转载请注明来源】你并不需要在每一个action中都这么写转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。。我提供一种方法:

转载请注明出处:www.tangshua转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。ng.net【作者:唐霜】【关注微信公众号:wwwtangshua【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.netngnet】【版权所有】唐霜 www.tangshu【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】ang.net
// functions.php
function add_minify_css($files) {
  array_unshift('base.css',$files);
  foreach($files as &$file) {
    $file = '/wp-content/themes/yourtheme/css/'.$file;
  }
  new wp_minify_css_action($files);
}

// single.php
add_minify_css(array('single.css','comment.css'));
wp_head();

就像上面这样,可以让你的程序写的更加简单原创内容,盗版必究。【转载请注明来源】一些。

著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】未经授权,禁止复制转载。【原创内容,转载请注明出处】

2016-05-02 15928

为价值买单,打赏一杯咖啡

本文价值159.28RMB
已有8条评论
  1. 姜导 2017-03-23 14:59

    请求出一个详细的教程,如何删除主题的js和css输出,不同主题会不会有不同的方式,安装好插件停止在这一步,内心很痛

    • 否子戈 2017-03-23 19:58

      如果你不会,可以找我,提供付费协助哦

  2. BanYuner 2016-12-03 23:13

    使用了  但是cache文件夹中并没有缓存文件

    • 否子戈 2016-12-05 20:39

      你要检查一下你的目录有没有可写权限

  3. 小哈 2016-11-10 23:17

    顺便把html压缩也加上吧

    • 否子戈 2016-11-12 18:35

      以前有这样做过,但是压缩html之后其实存在一些问题,比如pre标签怎么办?空白或换行实现的空格怎么办?诸如这些问题让我放弃了压缩html的念头。

  4. 老郭 2016-11-03 21:50

    唔。。看起来很不错的样子。看来可以考虑直接集成到主题中使用哈

    • 否子戈 2016-11-05 12:27

      根据自己的需要集成,主要是一些主题里面用到比较多的脚本文件的时候可以考虑,将多个合并一个,可以减少http请求,加快加载速度