WordPress插件精简调用(推荐)
WordPress之所以这么受欢迎,这和它模板和插件资源众多是离不开的。一般的WordPress用户基本上都至少会装4,5个插件,而像老用户则有可能会装10多个甚至20之多。其中的某些插件会在Blog页面的head部分加入自己的js或者是css代码来实现特有的功能。以前曾经有人写过方法来合并JS和CSS文件来加快调用速度,1, 2, 3。
但其实这些插件往往是针对不同页面的,这样我们便可以对此做出精简调用的处理。比如我使用中的阁微堂修订版本的Ajax Comment-Reply,它所实现的功能便是在留言时采用ajax的方式提交而不必刷新整个页面。这个功能只需要在单页日志或者是Page时实现,但插件本身却在wordpress的任何页面的head部分别调用了comment.js和comment.css两个文件。
我的处理是修改了插件的comment-reply.php文件,在最后删除了它默认加载的代码:

(coolcode插件竟然无法处理此代码,只好使用了图片)
这样便仅在post和page页面才会加载这两个js和css文件,而在首页和存档等页面便会省掉总共6KB的字节调用。同理你也可以针对自己使用的插件采用此方法来精简调用,而对于全局调用的插件则采用合并JS和CSS文件进行处理。
适用此精简调用方法的有众多和留言相关的插件,比如ajax留言,增加留言表情等等。同时也包括一些给日志提交网摘收藏的插件,像Add Bookmarks,Blog it等等,还有一些存档效果插件,比如af-extended-live-archive插件也可以仅在存档页面调用等等。
另外老版本的UTW也会在header中加入没多大用的js文件,建议更新插件。



我用的是台湾mm版本的Ajax Comment-Reply,也可以这样修改吗?
[Reply]
我看了你的代码,可以。
[Reply]
评论这样层级引用的效果是怎么做出来的啊?
[Reply]
这个插件:Threaded Comments
[Reply]
不错哦哦 ~`支持
jacken’s last blog post..Hello world!
[Reply]
這個方法很讚!
直接在 header.php 判斷頁面的位置在決定是否執行
我原本只有用在 sidebar.php 卻忘了 header.php 也可以這樣做
halloyy 帥喔 :)
[Reply]
多谢你的修正,在下一个版本我会在commentreply_load_scripts里面加入判断语句。
btw,如果想要更好性能,你可以把css里面的内容直接放到你的模板里面的style.css文件里面,这样可以少下载一个东西。另外,javascript可以移到页面的最后,比如放到footer.php里面
[Reply]
css放到style.css里,那不还是在其它页面也加载了么?
嗯,放到footer里更比较好。
[Reply]
那个css不多,如果你启用了压缩功能后那么点内容根本不值一提,放到一起比分成两个文件划得来。
[Reply]
btw, 你这里在IE下留言有问题,总是提示名字没填…
[Reply]
我在IE下能够留言啊,就是reply时宽度有点不适。
[Reply]
这个方法不错,不过对于不少初级用户来说难了点^_^
[Reply]
不知道这一段代码能不能直接放在插件的源文件里呢?
[Reply]
当然可以,不过那需要调用数据库来判断页面状态,难度会更大。
而且对于像我这样使用静态页面的wp会失效。
[Reply]
请问 hhalloyy,你的管理员留言的绿色边框是怎么定义的?
[Reply]
可以使用插件,我是在comments.php里加入了区分的代码。
然后输出留言时采用了这样:
[Reply]
自己添加代码对我这外行来说还是有点难度~
我去找插件试试。还是谢谢你的解答!
[Reply]
好方法,一直在sidebar用,没想这些函数用在header中也有如此妙的功能.呵呵.
不过我的做法是将所有css集中,js一个不留全不用.
[Reply]
我对这种始终持保留态度,插件应该尽量做到来去无影,有时候一改,插件一旦失效,页面马上就要出错;
以文中提到的情况为例,去掉add_filter后,那个输出CSS,JS的commentreply_load_script()还是可以继续用的嘛,加个判定函数是否存在语句就行了,这样就算卸载这插件也没关系。
至于合并CSS,JS文件。。。。过一个年回来估计你就忘了啥是啥了。
[Reply]
哇,高手终于又出现了啊。消失了2年了吧。。。
[Reply]