我站点主题和插件调用了很多静态文件,打开速度有点堪忧。想着怎么优化下,简单的把静态文件通过CDN加速下。

后来网上找到了以下办法,不过此方法对我不太适用。

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

我站点主题和插件调用了很多静态文件,打开速度有点堪忧。想着怎么优化下,简单的把静态文件通过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 加速。当然,如果你的需求还包括加速远程图片或刷新缓存等,那么还是老老实实安装插件吧!