不要插件!轻松整合WordPress与CDN加速服务

前两天知道了怎么不用插件整合CDN静态资源加速,今天就把代码分享出来吧!

在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:

//静态文件CDN加速
if ( !is_admin() ) {
	add_action('wp_loaded','yuncai_ob_start');
	
	function yuncai_ob_start() {
		ob_start('yuncai_qiniu_cdn_replace');
	}	
function yuncai_qiniu_cdn_replace($html){
	$local_host = '博客域名'; //博客域名
	$qiniu_host = 'CDN加速域名'; //CDN域名
	$cdn_exts   = 'css|js|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
	$cdn_dirs   = 'wp-content|wp-includes'; //目录(使用|分隔)
	
	$cdn_dirs   = str_replace('-', '\-', $cdn_dirs);

	if ($cdn_dirs) {
		$regex	=  '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
		$html =  preg_replace($regex, $qiniu_host . '/$1$4', $html);
	} else {
		$regex	= '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
		$html =  preg_replace($regex, $qiniu_host . '/$1$3', $html);
	}
	return $html;
}
}

简单的一段代码,就能让你的 WordPress 实现静态文件 CDN 加速。当然,如果你的需求还包括加速远程图片或刷新缓存等,那么还是老老实实安装插件吧!

原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明转载自:不要插件!轻松整合WordPress与CDN加速服务

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hadoop学习笔记

大快DKH大数据网络爬虫安装教程(详细图文步骤)

爬虫安装前准备工作:大快大数据平台安装完成、zookeeper、redis、elasticsearch、mysql等组件安装启动成功。

843
来自专栏SpringBoot 核心技术

第二十二章:SpringBoot项目多模块运用与设计

2424
来自专栏微信小程序开发

python\b包cutImages生成方法,可以把自己的代码包发布到网上

如何分享自己的python代码到pypi,方便其他同学使用?相信不少写python的同学都用过第三方提供的库,使用这些库减少了我们的一些工作量,那么,你是否考虑...

33511
来自专栏自由而无用的灵魂的碎碎念

Vmware10如何打开vmware11建立的虚拟机

使用文本工具打开VMware 虚拟机配置文件(*.vmx文件),找到"virtualHW.version"一行,将值11修改为10保存即可。

692
来自专栏黑泽君的专栏

jQuery选择什么版本 1.x? 2.x? 3.x?

类似标题:jQuery选择什么版本? jquery一般用什么版本? jquery ie8兼容版本?jquery什么版本稳定?

621
来自专栏WindCoder

ubuntu13.10下安装Eclipse兼tar.gz提取时提示失败的解决办法

前段时间一直想编程时在linux下常驻,于是在ubuntu里面配置java环境,按Eclipse遇到了点问题,就一直没能继续进行下去,今天刚刚找到解决办法,终于...

511
来自专栏web开发

gulp实现公共html代码复用

在开发网站的时候,尤其是类似于官网这样的项目,顶部都会有一个导航栏,底部会有一些其他信息,而这两个部分在每一个页面都是有的。我们不可能在每个html页面都写一遍...

2426
来自专栏玩转JavaEE

SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)

当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异。笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来...

3995
来自专栏主机笔记

使用xshell连接linux服务器

许多新手第一次买了服务器都不知道该怎样使用,尤其是没有接触过linux的朋友对命令行界面几乎不了解,主机笔记今天就记录下使用国外软件xshell连接linux服...

5278
来自专栏java一日一条

理解 Linux/Unix 登录脚本

不知道你有没有遇到过这样的场景,当你需要设置一个环境变量,或者运行一个程序设置你的shell或桌面环境,但是不知道在哪里是最方便设置的位置。

841

扫码关注云+社区