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

爱游博客
爱游博客
爱游博客
2268
文章
200
评论
2020年1月14日09:03:03 评论 539 1682字阅读5分36秒

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

RiPro主题后台添加CDN加速开关首先我们在ripro的后台添加一个填写域名的设置框

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

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

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

隐藏的内容

//**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;
}

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

以上代码请二选一

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
  • 微信公众号
  • 微信扫一扫
  • weinxin
  • 微信小程序
  • 微信扫一扫
  • weinxin
爱游博客
  • 本文由 发表于 2020年1月14日09:03:03
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接