因为近期换了新的主题,该主题强大之处在于很多功能都写在了主题本身的文件中了,不需要依靠插件来完成,同样的,我就卸载了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。
3 条评论
感谢分享
WPJAM Basic插件会导致好多莫名其妙的问题。
是的,所以我现在就不用了。尽量使用代码实现。另外CDN加速的话,推荐Attachment CDN,WPJAM Basic插件包含的功能太多。