不要插件!轻松整合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 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享

第二章:Shiro入门——深入浅出学Shiro细粒度权限开发框架

Shiro是什么   Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能  Shiro能做什么   认证:验证用户...

1928
来自专栏黄Java的地盘

WebSocket系列之如何建立和维护可靠的连接

通过前四篇博客,相信读者对于WebSocket的使用和数据(不论是ArrayBuffer还是String)传输都有了一个深刻的了解。现在我们来介绍下,我在使用W...

781
来自专栏腾讯移动品质中心TMQ的专栏

Appium:轻松玩转app+webview混合应用自动化测试

Appium这个听起来既生疏也熟悉的自动化测试工具,比起原生的UiAutomator可能是异常的不起眼,可是却是有自身独当一面的能力,可以完成许多高难度作业,完...

1.7K1
来自专栏SpringBoot

第一节,shiro入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32534855/article/d...

471
来自专栏HaHack

化繁为简的企业级 Git 管理实战(二):多分支子模块持续集成

1432
来自专栏一“技”之长

自己动手设计一款iOS自动构建发布工具 原

    本篇博客就是基于上面的想法,给大家介绍编写一个简洁的自动化工具的具体步骤与核心要点。在编写本博客时,我也基于这样的想法开发了一款Mac上的iOS自动构建...

652
来自专栏技术分享

聊下 git rebase -i

在使用git作为源代码管理工具的时候,开发的时经常会面临一个常见的问题,多个commit 需要合并为一个完整的commit提交。 在一个基本的迭代周期里,你会有...

1739
来自专栏木可大大

漫谈版本控制系统

当我们单独使用这些文件时,按照上述方式可以很好的管理文件,但是,如果现在有两个人同时修改这份文件,那么,其中一人对文件修改的内容会被另一人的内容所覆盖,这是我们...

47517
来自专栏腾讯IVWEB团队的专栏

Git commit message 和工作流规范

本文的目的是统一团队 Git commit 日志标准,便于后续代码 review,版本发布以及日志自动化生成等等;以及统一团队的 Git 工作流,包括分支使用、...

1.5K0
来自专栏一“技”之长

Git命令集十四——抓取命令 原

842

扫码关注云+社区