我们平时会考虑把多个CSS或JS合并为一个文件输出,为了解决这个问题,我写了这个WordPress插件,用来实现WordPress中的这一目的。
实现原理
如果你读过我之前的《PHP合并压缩css输出 模块化css撰写》可以先了解我对缓存文件的一些处理方式,以及合并文件、压缩代码的一些想法。而本插件的实现原理则基本上和上面的这篇文章里介绍的差不多。
安装
首先,下载这个插件,我把它托管在我的GitHub上,你可以在这个页面下载。下载好之后,进行解压,解压完直接把解压出来的整个文件夹上传到你的WordPress网站插件目录下。然后去后台启用它。
使用
进入后台,在“设置”菜单下有一个子菜单“Minify”,进入后可以对它的各个选项进行设置,而且都有注释,可以了解功能。
使用wp-minify必须修改主题,因为你输出css和js的方式不一样了。 在你的主题中,删除原来的CSS和JS输出,使用如下的方法输出JS:
<?php wp_minfiy_js(['/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()。函数的参数是一个数组,数组内部的元素是脚本文件的路径,以WordPress安装目录为根目录,写入完整的相对路径。
为什么要相对于WordPress的根目录写脚本呢?而不是相对你当前的主题目录呢?其实道理很简单,因为你所引用的css或者js不一定是主题目录下的,有的时候你会引用其他目录下面的样式或者脚本。当然,这是相对路径,你甚至可以引用WordPress上一级目录的脚本,例如 "/../test.js",但是注意,脚本的开头一定要用/开头,否则可能引起相对路径错误。
当然了,具体的使用方法在你了解了原理之后就可以非常容易的去自己修改或发挥。更多请阅读我的博客:http://www.tangshuang.net/2432.html