WordPress 使用七牛云存储 CDN 加速服务代码版

更新时间:2019-12-20 分类:设计主题 浏览量:2601

七牛云

如果需要七牛云存储服务,点击这里免费注册,获取新用户专享礼包。

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


if ( !is_admin() ) {
	add_action('wp_loaded','c7sky_ob_start');
	
	function c7sky_ob_start() {
		ob_start('c7sky_qiniu_cdn_replace');
	}
	
	function c7sky_qiniu_cdn_replace($html) {
		return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
	}
}

以小影志的上传目录 wp-content/uploads/ 文件夹为例,路径就应该替换为如下代码:


return str_replace('http://c7sky.com/wp-content/uploads/', 'http://c7sky.u.qiniudn.com/wp-content/uploads/', $html);

如果你需要更具体的范围控制(多目录、指定文件类型),可使用以下代码替换上面的 c7sky_qiniu_cdn_replace 部分:


//修改自七牛镜像存储 WordPress 插件
function c7sky_qiniu_cdn_replace($html){
	$local_host = 'http://c7sky.com'; //博客域名
	$qiniu_host = 'http://c7sky.u.qiniudn.com'; //七牛域名
	$cdn_exts   = 'js|css|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;
}

注意:网站图片使用 CDN 测试正常,但是 REST API 接口数据未测试成功。

来源于小影志部分内容,更多内容点击这里查看