因为近期换了新的主题,该主题强大之处在于很多功能都写在了主题本身的文件中了,不需要依靠插件来完成,同样的,我就卸载了WPJAM Basic插件。那么关于CDN加速这个功能就需要修改function.php文件来实现了。

首先,基于《整合 WordPress 与七牛云存储 CDN 加速服务》这篇文章,实现了上传的附件,自动同步存储在七牛云存储。除此之外,还需要一个步骤就是替换URL,同样也是依靠代码实现:

define('CDN_HOST','http://你的CDN链接');
add_filter('the_content','z_cdn_content');
function z_cdn_content($content){
return str_replace(home_url().'/usr/uploads', CDN_HOST.'/usr/uploads', $content);
}
add_filter('wp_get_attachment_url','z_get_attachment_url',10,2);
function z_get_attachment_url($url, $post_id){
return str_replace(home_url(), CDN_HOST, $url);
}

加入上面的代码之后,你插入文章内的图片和其他附件以及特色图片都会被替换为cdn的url了,这样也就达到了加速的效果。 如果你想要将主题的css、图片以及js等静态资源替换为CDN 的url进行加速,那么可以使用以下代码:

define('CDN_HOST','http://你的CDN链接');
add_filter('stylesheet_directory_uri','z_cdn_stylesheet_directory_uri',10,3);
function z_cdn_stylesheet_directory_uri($stylesheet_dir_uri, $stylesheet, $theme_root_uri) {
return str_replace(home_url(), CDN_HOST, $stylesheet_dir_uri);
}
add_filter('template_directory_uri','z_cdn_template_directory_uri',10,3);
function z_cdn_template_directory_uri($template_dir_uri, $template, $theme_root_uri)
{
return str_replace(home_url(), CDN_HOST, $template_dir_uri);
}

另外,如果不想使用代码实现,也可推荐另外一个CDN加速插件:Attachment CDN。

最后修改:2021 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏