RiPro主题后台添加CDN加速开关

RiPro主题后台添加CDN加速开关

最近一直再给ripro这个wordpress主题添加一些小功能,用ripro的一般都是做资源站,所以图片可能会很多,所以就加个cdn的开关在后台方便开启,下面爱游准备了两种模式,一种是只加速uploads文件夹,一种是全站加速.首先我们在ripro的后台添加一个填写域名的设置框...

最近一直再给ripro这个wordpress主题添加一些小功能,用ripro的一般都是做资源站,所以图片可能会很多,所以就加个cdn的开关在后台方便开启,下面爱游准备了两种模式,一种是只加速uploads文件夹,一种是全站加速.

首先我们在ripro的后台添加一个填写域名的设置框

把以下代码放到主题根目录/inc/codestar-framework/options/options.theme.php里面,找一个合适的位置比如说像爱游这样放就行了。

        // cdn
        array(
            'id'         => 'cdn_media',
            'type'       => 'text',
            'title'      => '媒体cdn',
            'desc'       => '所有媒体文件加入cdn加速,格式:http://或是https://结尾不用加/',
            'attributes' => array(
                'style' => 'width: 100%;',
            ),
            'default'    => '',
        ),

然后把以下代码放入主题根目录的functions.php

[wechat key=4361 reply=6383]

//**CDN替换所有图片附件链接	
define('CDN_HOST',_cao('cdn_media'));
add_filter('the_content','z_cdn_content');
function z_cdn_content($content){
return str_replace(home_url().'/wp-content/uploads', CDN_HOST.'/wp-content/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);
}

以上代码为只加速uploads文件夹的媒体图片

//CDN替换所有js,css,图片链接
define('CDN_HOST',_cao('cdn_media'));
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);
 }

以上代码全站加速

全站加速也可以用一下代码:

/* 动静分离+静态缓存 */
ob_start("Static_Switch");
function Static_Switch($buffer){
        if(!is_admin()){
                $buffer_out = preg_replace('/https:\/\/www\.vipiu\.net\/wp-([^"\']*?)\.(jpg|png|gif|css|js)/i','https://www.vipiu.net/wp-$1.$2',$buffer);
                return $buffer_out;
        }
        else return $buffer;
}

以上代码呢就是可以指定那些静态资源需要缓存那些不要,然后再后台不会改变地址。

[/wechat]

以上代码请二选一

0

评论0

请先

赞助会员享海量VIP资源免费下载 自助开通
没有账号? 注册  忘记密码?