本方法同样适用于其他CDN,如:又拍云镜像。
早在13年2月就写过如何使用七牛云存储,当初七牛还没有现在那么强壮,为了数据安全,同时也为了更方便的使用七牛云存储,也写过一个相册程序专门作为wordpress的图库使用,使得图片本地、七牛各一份图片,不用担心图片丢失的风险,但是因为代码渣,一直不好意思把源代码公布出来。
前些时间购买了阿里云,我从typecho回到wordpress队伍,@斌果给了我一个更方便使用七牛云存储的方法,且可以在wordpress的媒体库进行图片管理操作,同样也是本地、七牛各一份,安全有保障。
如何注册就不再一一赘述,如果还没有注册,可以点此注册
登陆到七牛的控制面板,申请一个空间:
进入空间设置,添加镜像源:
一切就绪后,在主题functions.php内添加如下代码:
// 静态资源使用七牛 CDN
function Qiniu_cdn(){ob_start( 'Qiniu_cdn_replace' );}
add_action( 'template_redirect', 'Qiniu_cdn' );
// 替换静态资源链接为七牛 CDN
function Qiniu_cdn_replace( $code ){
$cdn_exts = 'png|jpg|jpeg|gif|bmp';
$cdn_dirs = str_replace( '-', '\-', 'wp-content|wp-includes' );
$regex = '/' . str_replace( '/', '\/', site_url() ) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
return preg_replace( $regex, 'http://image.idevs.cn/$1$4', $code );
}
注意缓存文件格式$cdn_exts
,同时注意修改return,将image.idevs.cn修改为你从七牛那里获得到的链接即可。